Patch "Bluetooth: hci_bcm: do not mark valid bd_addr as invalid" has been added to the 6.4-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    Bluetooth: hci_bcm: do not mark valid bd_addr as invalid

to the 6.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bluetooth-hci_bcm-do-not-mark-valid-bd_addr-as-inval.patch
and it can be found in the queue-6.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 2cfb11b81d344afe4080da54e6bd057425c7ac0a
Author: Johan Hovold <johan+linaro@xxxxxxxxxx>
Date:   Fri Jun 2 10:19:12 2023 +0200

    Bluetooth: hci_bcm: do not mark valid bd_addr as invalid
    
    [ Upstream commit 56b7f325db139c9255b1eb1d1e741576d5f8fa34 ]
    
    A recent commit restored the original (and still documented) semantics
    for the HCI_QUIRK_USE_BDADDR_PROPERTY quirk so that the device address
    is considered invalid unless an address is provided by firmware.
    
    This specifically means that this flag must only be set for devices with
    invalid addresses, but the Broadcom driver has so far been setting this
    flag unconditionally.
    
    Fortunately the driver already checks for invalid addresses during setup
    and sets the HCI_QUIRK_INVALID_BDADDR flag. Use this flag to indicate
    when the address can be overridden by firmware (long term, this should
    probably just always be allowed).
    
    Fixes: 6945795bc81a ("Bluetooth: fix use-bdaddr-property quirk")
    Reported-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
    Link: https://lore.kernel.org/lkml/ecef83c8-497f-4011-607b-a63c24764867@xxxxxxxxxxx
    Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
    Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
    Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
index 83bf5d4330c40..874d23089b39b 100644
--- a/drivers/bluetooth/hci_bcm.c
+++ b/drivers/bluetooth/hci_bcm.c
@@ -643,7 +643,8 @@ static int bcm_setup(struct hci_uart *hu)
 	 * Allow the bootloader to set a valid address through the
 	 * device tree.
 	 */
-	set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hu->hdev->quirks);
+	if (test_bit(HCI_QUIRK_INVALID_BDADDR, &hu->hdev->quirks))
+		set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hu->hdev->quirks);
 
 	if (!bcm_request_irq(bcm))
 		err = bcm_setup_sleep(hu);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux