lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 27 Oct 2022 19:06:00 +0800
From:   Zijun Hu <quic_zijuhu@...cinc.com>
To:     <marcel@...tmann.org>, <johan.hedberg@...il.com>,
        <luiz.dentz@...il.com>, <luiz.von.dentz@...el.com>
CC:     <linux-kernel@...r.kernel.org>, <linux-bluetooth@...r.kernel.org>,
        <netdev@...r.kernel.org>, Zijun Hu <zijuhu@....qualcomm.com>
Subject: [PATCH v1] Bluetooth: btusb: Fix enable failure for a CSR BT dongle

From: Zijun Hu <zijuhu@....qualcomm.com>

A CSR BT dongle fails to be enabled bcz it is not detected as fake
rightly, fixed by correcting fake detection condition.

below btmon error log says HCI_QUIRK_BROKEN_FILTER_CLEAR_ALL is not set.

< HCI Command: Set Event Filter (0x03|0x0005) plen 1        #23 [hci0]
        Type: Clear All Filters (0x00)
> HCI Event: Command Complete (0x0e) plen 4                 #24 [hci0]
      Set Event Filter (0x03|0x0005) ncmd 1
        Status: Invalid HCI Command Parameters (0x12)

the quirk is not set bcz current fake detection does not mark the dongle
as fake with below version info.

< HCI Command: Read Local Version In.. (0x04|0x0001) plen 0  #1 [hci0]
> HCI Event: Command Complete (0x0e) plen 12                 #2 [hci0]
      Read Local Version Information (0x04|0x0001) ncmd 1
        Status: Success (0x00)
        HCI version: Bluetooth 4.0 (0x06) - Revision 12576 (0x3120)
        LMP version: Bluetooth 4.0 (0x06) - Subversion 8891 (0x22bb)
        Manufacturer: Cambridge Silicon Radio (10)

Link: https://bugzilla.kernel.org/show_bug.cgi?id=60824
Signed-off-by: Zijun Hu <zijuhu@....qualcomm.com>
---
 drivers/bluetooth/btusb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 420be2ee2acf..727469d073f9 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2155,7 +2155,7 @@ static int btusb_setup_csr(struct hci_dev *hdev)
 		is_fake = true;
 
 	else if (le16_to_cpu(rp->lmp_subver) <= 0x22bb &&
-		 le16_to_cpu(rp->hci_ver) > BLUETOOTH_VER_4_0)
+		 le16_to_cpu(rp->hci_ver) >= BLUETOOTH_VER_4_0)
 		is_fake = true;
 
 	/* Other clones which beat all the above checks */
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ