From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 16D7B37C0E2 for ; Tue, 24 Feb 2026 11:12:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771931577; cv=none; b=PZ2+FIu4EhM2VTagQdPpvFmjC7xBLAygN9AQCgG0uGCgLNkGw7IV8LwlQ7qio7VAM2ZBpIEwf1czmWTroUCOe60ucSC8nluts/WR+FjIsaDBP3a51Ny5cryEK45GsGx0x0wE0UHtg/7wOGhiVezFAYwQrBbLNhLiKq0gazbeicY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771931577; c=relaxed/simple; bh=+NP8AtkPelglsgG9lKiUIkf3uGAVg5HfsX8OqOth+nE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QvmZFBHw2Jex4IXruRj3H8Gys9mQ7acr4xSKAADS/033VzKLYul0jYWJbGGuKkqODOY4chYhv503g7BWs1CV28H3iGzFciIpMSleM/R0qyuc8VpQVo6PLmZmy67u/0lRZ20ctSGIUX9a3air9QseC8m/+RGI5bMcrzZgEuF9MHU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=boajaD0z; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="boajaD0z" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-48370174e18so29136805e9.2 for ; Tue, 24 Feb 2026 03:12:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771931574; x=1772536374; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=d9Tn4lW/TMZkLp3AuUAwTlmXi/dcr0iOq7DY8TGFLb4=; b=boajaD0zeByjIEq22MtSnm4M0D59aSYevwwceTj7x1XPqU5vfpeMLKZDkFqNgCaAxp w2UvEpqPleFJwrDQJgwY42jLp10DxOdR2lPtreaCoUofhGwa7DhulKZc7YivoU3/22yT FBDk6E6wmIGly4GO7oC+H4QIMQBhbWcIA7GsjtFiMPabzVigScLvXIdaK0kjz3tyKGK2 KvMbmt134E7lBnRsMa17DlG74ITESSXwdx7pAFyMYDmHTV4f+2GLvsHrNxPjWG378jPm kV7PBITJN+VUQDV3vrvFw2kokvxdG8zJ1okYyYZ8GYhkIWDgGyxHt1ts8N8Rhp+FzD2z ZU6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771931574; x=1772536374; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=d9Tn4lW/TMZkLp3AuUAwTlmXi/dcr0iOq7DY8TGFLb4=; b=GbN4GKTTY5ynXR8ALfMI+lO7sVetUVGpSTDMtE+9d7l4ZfLdElueSNXXS6Ixo2/wkP Q30TyIr6iy5RmYnFu6TSCvxjvpMwfH7ibZ0g0sYOqZEP/4pjCJ5YOUxssMkn1UC+2yOh FXWQVhiNrT3fHRvl5qwSUW27Yv2cWBj3zKEdVgVKWKKfRKx6TnpbXhRiE4cr2yTdbqRd hsixoFSq+vvypVizQWZQDLOSFhyhLYss76LYUNAhHnOchBcQBmJcJsiZayHnzJm/YL8D +hH7qbIK3OpQBmnU+vgNbC+w7JTJL5ZRjxIVg1HG37XUZwtRkmzDKJhCGshgaV5krqFY FJ2Q== X-Gm-Message-State: AOJu0YwY1nzwEtJG0JFh6waC+wVl8S5nNI6KyoWOVLkogMXsGTZ066Ag YwCCyFyyybKlr0IdevYubwmnqyZeZDn+ziCLqB4jiOS25PnInUDej6IY52qizw== X-Gm-Gg: AZuq6aIwLhT188Ko8dC28tSKdDdoagRQ1C5MFQQ89IoqchYpdmWJ7zC6tYcv6lwy5nl tzooawcEFV+jHKGG8IQ2v1aB/8iT+igs6CgtxK/CeSDtuHjuFZgT40BXC4YGQLKW+QNPrc2pfYd bPJs0BMPnx9KkdPqJHa4m71vcefYESJH15ChHVMluwC2RDwh4wbsuYqaGppr4cWF3wp25TXQ+NM Zt/7xOExiFTAI4Ll5YePiihVpwYELQECEEV/NLjo621nlmIIBEwMlIFJWe1RCpeBcoTZF9Kko7h 9npDA9BysrFg2Q3zErAH0cBrrdX17aRrTQEsS+5WTZXyI5Xaw4QFzvrh7Es+As+VYOkaEm5fjLm EiIbeYJBmLZ/VRiMgM52EDaBoC+aUYMtcPgkOqVa6ZJXb7khgR1d+6dzdBIv70FgarqHYCGpBFk R21zRj7cn8l6+JwPnEp4CYmPXsPfxTznRdRamWjCILVmn3iKmqmlMjl/L0mkOx4GFwUjzIQgcQt kfE12oPSh4i2qVrXGVcCcLUp8COFvM++u6UcklK X-Received: by 2002:a05:600c:4f94:b0:480:1c53:2085 with SMTP id 5b1f17b1804b1-483a95eb365mr177247755e9.19.1771931574276; Tue, 24 Feb 2026 03:12:54 -0800 (PST) Received: from Lord-Beerus.station (net-188-152-100-94.cust.vodafonedsl.it. [188.152.100.94]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a9cb4bb3sm259474545e9.14.2026.02.24.03.12.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Feb 2026 03:12:53 -0800 (PST) From: Stefano Radaelli X-Google-Original-From: Stefano Radaelli To: linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org Cc: pierluigi.p@variscite.com, Stefano Radaelli , Marcel Holtmann , Luiz Augusto von Dentz Subject: [PATCH v2 1/1] Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x Date: Tue, 24 Feb 2026 12:12:35 +0100 Message-ID: <36a2c4c75e557527d101897b649f9de8d2180fb6.1771930508.git.stefano.r@variscite.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Stefano Radaelli TI WL183x controllers advertise support for the HCI Enhanced Setup Synchronous Connection command, but SCO setup fails when the enhanced path is used. The only working configuration is to fall back to the legacy HCI Setup Synchronous Connection (0x0028). This matches the scenario described in commit 05abad857277 ("Bluetooth: HCI: Add HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN quirk"). Enable HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN automatically for devices compatible with: - ti,wl1831-st - ti,wl1835-st - ti,wl1837-st Signed-off-by: Stefano Radaelli --- v1->v2: - drivers/bluetooth/hci_ll.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c index 91acf24f1ef5..6f060eec3b81 100644 --- a/drivers/bluetooth/hci_ll.c +++ b/drivers/bluetooth/hci_ll.c @@ -68,6 +68,7 @@ struct ll_device { struct gpio_desc *enable_gpio; struct clk *ext_clk; bdaddr_t bdaddr; + bool broken_enhanced_setup; }; struct ll_struct { @@ -656,6 +657,10 @@ static int ll_setup(struct hci_uart *hu) hci_set_quirk(hu->hdev, HCI_QUIRK_INVALID_BDADDR); } + if (lldev->broken_enhanced_setup) + hci_set_quirk(hu->hdev, + HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN); + /* Operational speed if any */ if (hu->oper_speed) speed = hu->oper_speed; @@ -710,6 +715,11 @@ static int hci_ti_probe(struct serdev_device *serdev) of_property_read_u32(serdev->dev.of_node, "max-speed", &max_speed); hci_uart_set_speeds(hu, 115200, max_speed); + if (of_device_is_compatible(serdev->dev.of_node, "ti,wl1831-st") || + of_device_is_compatible(serdev->dev.of_node, "ti,wl1835-st") || + of_device_is_compatible(serdev->dev.of_node, "ti,wl1837-st")) + lldev->broken_enhanced_setup = true; + /* optional BD address from nvram */ bdaddr_cell = nvmem_cell_get(&serdev->dev, "bd-address"); if (IS_ERR(bdaddr_cell)) { -- 2.47.3 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 792E232F751 for ; Thu, 2 Apr 2026 18:47:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775155670; cv=none; b=kRN8WuS1Ysg6DCR/GoWuf6cFk4tdRhTAb75IMmpEekq26kopcyROrxKJ21Gqlta8/KyED1souFXKSM+FTzGV0j5LnnCRMEeFnmpKduRzmb3H+NYM9MdVyX1kdupvfvDQpj5zstKEknJFYRuRnS/5k8lJ63DQp/17OKd55kvvkjM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775155670; c=relaxed/simple; bh=+NP8AtkPelglsgG9lKiUIkf3uGAVg5HfsX8OqOth+nE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FoIdT/FGNdzLPabgWCPHHZeN/hJukD6KpCgjbf4irt58nYjkmVquTgBQMhMqbjl5ggXYG8tS3zJEJuSVC2y8hI4uf4spFvyHJdHvw2ZQKpYqRlqoTN+DzNjchJEvGRc9n52l68VV9eaNpLb1ioH7MyGYlAp0uV3bbf2/xoJ9jw0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Rx2qC9qb; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Rx2qC9qb" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-48897fd88ebso1174545e9.2 for ; Thu, 02 Apr 2026 11:47:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775155667; x=1775760467; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=d9Tn4lW/TMZkLp3AuUAwTlmXi/dcr0iOq7DY8TGFLb4=; b=Rx2qC9qboG6sGUFfcv+DWdDHoDdz2tJnRoC6UiXktzkWUIP3ZGPjtk2qfdo2Ig4bff Fufe1wOALogsvq9terOy0rjhHpEbfGRbDcChHxs5ghlHQpX0m/62rNQ3JkjJgYa/6ZQ1 HYxm1JSLFhLIQW5Jcw0m7xEPhJhAek1Shz/9FXcT5HiKGgvS9LH3hzwmlOy5RO/5JCNv 5/wBCKQrlJpsRYkxSV2KqsknXwc5aROm6HPihwNeu/uT9RB8ZR7BSceJcFgcN/LTN2eZ y2erqEPN3rhl11p7yuZMyOkJvWMvlZE9oWVUdhti9r7KAD2rXw5i6BmSjGGJ5uB+BkR9 8pug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775155667; x=1775760467; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=d9Tn4lW/TMZkLp3AuUAwTlmXi/dcr0iOq7DY8TGFLb4=; b=STNhWqHS7749awHtbDMlztEqqQySIbkUTSoEwRO0Xh261Fgd/Q6rQ28GJo0nQWXbDu I4b5LynAZcLybLa+HWfLfz0xhnPv9DDgsRDv21e//zP7O01UFSfgMBaC3uV23if/OkOg OX/rcGZYM8Bo6WP2tx/GaN/LXpls2jemXWgFYzDmqIw89AIvzYkGNcjim/oSQrXC38Ib w4hQ6T25s8CdH4l7/PDhHYP3/uyr6FcWr0YBql9uy/HL6kPYIFSkt/9Mak3yV8+IRSnC NkXj0y0sooCOXTIJwUUUjDXRN/Sdaxjpvxk6wdn3C0oO31KfQUJAuiFuC+9M0vb4ck56 yO5Q== X-Gm-Message-State: AOJu0Yz/KPswZ8XEWP+Jk58SVa0t1whVY/REngvA8Ywb80KcfpZlePE7 JPrdtTg7T5G+uYbPn06LXEtAjYjQECWgbp5ABYbQRw8794E+P9g7GOQaj61zow== X-Gm-Gg: ATEYQzwQBeiP4rylbjEpvqYXtU6LJC28CmCFqV01+e8zMh7CRh2ZguwGMPKBFfZtmH+ PClQVJ6gwBIv0sX0qXA4X/WTa8yUSqcwdb7G8FYCNn66O1IDAxpDYPAmbjfeVoSnc752Nkcci90 74OZdqN3VgLtLczL4xn5ZZA2KdwZcvua1XzM4udpTStxHHuw8Mnb0pARdoPeJrz8FcbZEYMDINs vvSGTWeVdGXhxWvMyf6JpT96vrRX40z2iOYCsDAFHMIW6UDpiu9epNeaTa4ZnVeVmIJtqe0zXVt lwz7qjtysovfJCZzKucbNFtqF02AVbBK+fuZtjHg88s3CbHjtGf+VdeTpL/iUUG5buRFgE1lvEN 9z5npKFdodgqA2WQWrPHP5B6ob/qebrOMnKozkREGyLaomCeluZgDna6IxcpRp9WTzsOdr7XauW N+ujabYS+1mH+Y4quaskzjDAfMMMbjdRrevU4eIcFeemPmdkhaFyeGMn/xqWheiRpa8B/rwDoQr sfL8Fi5iuuhxbAswtrcqSjBtFspI9+nnS6/Sg== X-Received: by 2002:a05:600c:8b06:b0:486:fdca:ea8d with SMTP id 5b1f17b1804b1-488997b7b3cmr1625495e9.25.1775155666638; Thu, 02 Apr 2026 11:47:46 -0700 (PDT) Received: from Lord-Beerus.station (net-93-144-20-233.cust.vodafonedsl.it. [93.144.20.233]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488983db4fbsm2153705e9.13.2026.04.02.11.47.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 11:47:45 -0700 (PDT) From: Stefano Radaelli X-Google-Original-From: Stefano Radaelli To: linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org Cc: pierluigi.p@variscite.com, Stefano Radaelli , Marcel Holtmann , Luiz Augusto von Dentz Subject: [PATCH v2 1/1] Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x Date: Thu, 2 Apr 2026 20:47:03 +0200 Message-ID: <36a2c4c75e557527d101897b649f9de8d2180fb6.1771930508.git.stefano.r@variscite.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: <20260402184703.oZ7dxFSSHiS67vmeMGdsoOIG_rMikE0fgSOtsOE0kJc@z> From: Stefano Radaelli TI WL183x controllers advertise support for the HCI Enhanced Setup Synchronous Connection command, but SCO setup fails when the enhanced path is used. The only working configuration is to fall back to the legacy HCI Setup Synchronous Connection (0x0028). This matches the scenario described in commit 05abad857277 ("Bluetooth: HCI: Add HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN quirk"). Enable HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN automatically for devices compatible with: - ti,wl1831-st - ti,wl1835-st - ti,wl1837-st Signed-off-by: Stefano Radaelli --- v1->v2: - drivers/bluetooth/hci_ll.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c index 91acf24f1ef5..6f060eec3b81 100644 --- a/drivers/bluetooth/hci_ll.c +++ b/drivers/bluetooth/hci_ll.c @@ -68,6 +68,7 @@ struct ll_device { struct gpio_desc *enable_gpio; struct clk *ext_clk; bdaddr_t bdaddr; + bool broken_enhanced_setup; }; struct ll_struct { @@ -656,6 +657,10 @@ static int ll_setup(struct hci_uart *hu) hci_set_quirk(hu->hdev, HCI_QUIRK_INVALID_BDADDR); } + if (lldev->broken_enhanced_setup) + hci_set_quirk(hu->hdev, + HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN); + /* Operational speed if any */ if (hu->oper_speed) speed = hu->oper_speed; @@ -710,6 +715,11 @@ static int hci_ti_probe(struct serdev_device *serdev) of_property_read_u32(serdev->dev.of_node, "max-speed", &max_speed); hci_uart_set_speeds(hu, 115200, max_speed); + if (of_device_is_compatible(serdev->dev.of_node, "ti,wl1831-st") || + of_device_is_compatible(serdev->dev.of_node, "ti,wl1835-st") || + of_device_is_compatible(serdev->dev.of_node, "ti,wl1837-st")) + lldev->broken_enhanced_setup = true; + /* optional BD address from nvram */ bdaddr_cell = nvmem_cell_get(&serdev->dev, "bd-address"); if (IS_ERR(bdaddr_cell)) { -- 2.47.3