Re: [PATCH] Bluetooth: hci_sync: Check the correct flag before starting a scan

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 02, 2024 at 07:08:08PM +0100, Jonas Dreßler wrote:
> There's a very confusing mistake in the code starting a HCI inquiry: We're
> calling hci_dev_test_flag() to test for HCI_INQUIRY, but hci_dev_test_flag()
> checks hdev->dev_flags instead of hdev->flags. HCI_INQUIRY is a bit that's
> set on hdev->flags, not on hdev->dev_flags though.
> 
> HCI_INQUIRY equals the integer 7, and in hdev->dev_flags, 7 means
> HCI_BONDABLE, so we were actually checking for HCI_BONDABLE here.
> 
> The mistake is only present in the synchronous code for starting an inquiry,
> not in the async one. Also devices are typically bondable while doing an
> inquiry, so that might be the reason why nobody noticed it so far.
> 
> Signed-off-by: Jonas Dreßler <verdre@xxxxxxx>

FWIIW, I agree with this analysis and the proposed fix looks
correct to me.

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>

I do wonder if it is appropriate to treat this as a bug fix -
is there a use-visible problem? If so, the following seems appropriate to
me.

Fixes: abfeea476c68 ("Bluetooth: hci_sync: Convert MGMT_OP_START_DISCOVERY")

...




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux