From nobody Fri Apr 17 01:43:24 2026 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: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Reviewed-by: Paul Menzel --- v1->v2: -=20 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; }; =20 struct ll_struct { @@ -656,6 +657,10 @@ static int ll_setup(struct hci_uart *hu) hci_set_quirk(hu->hdev, HCI_QUIRK_INVALID_BDADDR); } =20 + 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 =3D 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); =20 + 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 =3D true; + /* optional BD address from nvram */ bdaddr_cell =3D nvmem_cell_get(&serdev->dev, "bd-address"); if (IS_ERR(bdaddr_cell)) { --=20 2.47.3