Bluetooth: hci_bcm: do not mark valid bd_addr as invalid
PATCH 1/1 Bluetooth: hci_bcm: do not mark valid bd_addr as invalid
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).
--- drivers/bluetooth/hci_bcm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/bluetooth/hci_bcm.c +2 -1
@@ -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);
Signature · 1 line
2.39.3
Quoted 13 lines · Johan Hovold
A recent commit restored the original (and still documented) semantics for the
HCI_QUIRK_USE_BDADDR_PROPERTYquirk 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_BDADDRflag. Use this flag to indicate when the address can be overridden by firmware (long term, this should probably just always be allowed).
Quoted 4 lines
Fixes 6ac517d8cf8b ("Bluetooth: fix use-bdaddr-property quirk")Reported-by Marek Szyprowski <[email protected]>Signed-off-by Johan Hovold <[email protected]>
Quoted 9 lines
--- drivers/bluetooth/hci_bcm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)drivers/bluetooth/hci_bcm.c +0
-0
drivers/bluetooth/hci_bcm.c static int bcm_setup(struct hci_uart *hu) · line 650
Quoted 9 lines
drivers/bluetooth/hci_bcm.c +2
-1@@ -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);
Best regards
Signature · 2 lines
Marek Szyprowski, PhD Samsung R&D Institute Poland
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=753409
---Test result---
Test Summary:
CheckPatch PASS 0.64 seconds GitLint FAIL 0.56 seconds SubjectPrefix PASS 0.11 seconds BuildKernel PASS 34.01 seconds CheckAllWarning PASS 36.62 seconds CheckSparse PASS 42.25 seconds CheckSmatch PASS 113.68 seconds BuildKernel32 PASS 33.90 seconds TestRunnerSetup PASS 474.42 seconds TestRunner_l2cap-tester PASS 17.53 seconds TestRunner_iso-tester FAIL 24.51 seconds TestRunner_bnep-tester PASS 5.85 seconds TestRunner_mgmt-tester PASS 119.90 seconds TestRunner_rfcomm-tester PASS 9.36 seconds TestRunner_sco-tester PASS 8.66 seconds TestRunner_ioctl-tester PASS 10.27 seconds TestRunner_mesh-tester PASS 7.43 seconds TestRunner_smp-tester PASS 8.53 seconds TestRunner_userchan-tester PASS 6.13 seconds IncrementalBuild PASS 32.26 seconds
Details
##############################
Test: GitLint - FAIL
Desc: Run gitlint
Output:
Bluetooth: hci_bcm: do not mark valid bd_addr as invalid
WARNING: I3 - ignore-body-lines: gitlint will be switching from using Python regex 'match' (match beginning) to 'search' (match anywhere) semantics. Please review your ignore-body-lines.regex option accordingly. To remove this warning, set general.regex-style-search=True. More details: https://jorisroovers.github.io/gitlint/configuration/#regex-style-search
17: B1 Line exceeds max length (83>80): "Link: https://lore.kernel.org/lkml/[email protected]"
##############################
Test: TestRunner_iso-tester - FAIL
Desc: Run iso-tester with test-runner
Output:
Total: 80, Passed: 75 (93.8%), Failed: 5, Not Run: 0
Failed Test Cases
ISO AC 6(i) - Success Failed 0.238 seconds ISO AC 7(i) - Success Failed 0.234 seconds ISO AC 8(i) - Success Failed 0.232 seconds ISO AC 9(i) - Success Failed 0.235 seconds ISO AC 11(i) - Success Failed 0.243 seconds
---
Regards,
Linux Bluetooth
This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <[email protected]>:
Hello:
This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <[email protected]>:
Quoted 9 lines · On Fri, 2 Jun 2023 10:19:12 +0200 you wrote:
A recent commit restored the original (and still documented) semantics for the
HCI_QUIRK_USE_BDADDR_PROPERTYquirk 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.
[...]
Here is the summary with links:
- Bluetooth: hci_bcm: do not mark valid bd_addr as invalid
https://git.kernel.org/bluetooth/bluetooth-next/c/758be2398ff6
You are awesome, thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html