* [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address
@ 2022-10-10 20:35 Brian Gix
2022-10-10 20:35 ` [PATCH 2/2] Bluetooth: hci_sync: Fix not able to set force_static_address Brian Gix
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Brian Gix @ 2022-10-10 20:35 UTC (permalink / raw)
To: linux-bluetooth; +Cc: luiz.dentz, brian.gix, Luiz Augusto von Dentz
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This attempts to program the address stored in hdev->static_addr after
the init sequence has been complete:
@ MGMT Command: Set Static A.. (0x002b) plen 6
Address: C0:55:44:33:22:11 (Static)
@ MGMT Event: Command Complete (0x0001) plen 7
Set Static Address (0x002b) plen 4
Status: Success (0x00)
Current settings: 0x00008200
Low Energy
Static Address
@ MGMT Event: New Settings (0x0006) plen 4
Current settings: 0x00008200
Low Energy
Static Address
< HCI Command: LE Set Random.. (0x08|0x0005) plen 6
Address: C0:55:44:33:22:11 (Static)
> HCI Event: Command Complete (0x0e) plen 4
LE Set Random Address (0x08|0x0005) ncmd 1
Status: Success (0x00)
@ MGMT Event: Command Complete (0x0001) plen 7
Set Powered (0x0005) plen 4
Status: Success (0x00)
Current settings: 0x00008201
Powered
Low Energy
Static Address
@ MGMT Event: New Settings (0x0006) plen 4
Current settings: 0x00008201
Powered
Low Energy
Static Address
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tested-by: Brian Gix <brian.gix@intel.com>
---
net/bluetooth/hci_sync.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index 76c3107c9f91..b53bb0ee9d39 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -3054,6 +3054,7 @@ int hci_update_name_sync(struct hci_dev *hdev)
* Enable Authentication
* lmp_bredr_capable(Set Fast Connectable -> Set Scan Type -> Set Class ->
* Set Name -> Set EIR)
+ * HCI_FORCE_STATIC_ADDR | BDADDR_ANY && !HCI_BREDR_ENABLED (Set Static Address)
*/
int hci_powered_update_sync(struct hci_dev *hdev)
{
@@ -3093,6 +3094,23 @@ int hci_powered_update_sync(struct hci_dev *hdev)
hci_update_eir_sync(hdev);
}
+ /* If forcing static address is in use or there is no public
+ * address use the static address as random address (but skip
+ * the HCI command if the current random address is already the
+ * static one.
+ *
+ * In case BR/EDR has been disabled on a dual-mode controller
+ * and a static address has been configured, then use that
+ * address instead of the public BR/EDR address.
+ */
+ if (hci_dev_test_flag(hdev, HCI_FORCE_STATIC_ADDR) ||
+ (!bacmp(&hdev->bdaddr, BDADDR_ANY) &&
+ !hci_dev_test_flag(hdev, HCI_BREDR_ENABLED))) {
+ if (bacmp(&hdev->static_addr, BDADDR_ANY))
+ return hci_set_random_addr_sync(hdev,
+ &hdev->static_addr);
+ }
+
return 0;
}
--
2.37.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] Bluetooth: hci_sync: Fix not able to set force_static_address
2022-10-10 20:35 [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address Brian Gix
@ 2022-10-10 20:35 ` Brian Gix
2022-10-10 21:00 ` [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address patchwork-bot+bluetooth
2022-10-10 21:13 ` [1/2] " bluez.test.bot
2 siblings, 0 replies; 5+ messages in thread
From: Brian Gix @ 2022-10-10 20:35 UTC (permalink / raw)
To: linux-bluetooth; +Cc: luiz.dentz, brian.gix, Luiz Augusto von Dentz
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
force_static_address shall be writable while hdev is initing but is not
considered powered yet since the static address is written only when
powered.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tested-by: Brian Gix <brian.gix@intel.com>
---
net/bluetooth/hci_debugfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/bluetooth/hci_debugfs.c b/net/bluetooth/hci_debugfs.c
index 3f401ec5bb0c..b7f682922a16 100644
--- a/net/bluetooth/hci_debugfs.c
+++ b/net/bluetooth/hci_debugfs.c
@@ -757,7 +757,7 @@ static ssize_t force_static_address_write(struct file *file,
bool enable;
int err;
- if (test_bit(HCI_UP, &hdev->flags))
+ if (hdev_is_powered(hdev))
return -EBUSY;
err = kstrtobool_from_user(user_buf, count, &enable);
--
2.37.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address
2022-10-10 20:35 [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address Brian Gix
2022-10-10 20:35 ` [PATCH 2/2] Bluetooth: hci_sync: Fix not able to set force_static_address Brian Gix
@ 2022-10-10 21:00 ` patchwork-bot+bluetooth
2022-10-10 21:13 ` [1/2] " bluez.test.bot
2 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+bluetooth @ 2022-10-10 21:00 UTC (permalink / raw)
To: Brian Gix; +Cc: linux-bluetooth, luiz.dentz, luiz.von.dentz
Hello:
This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Mon, 10 Oct 2022 13:35:21 -0700 you wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> This attempts to program the address stored in hdev->static_addr after
> the init sequence has been complete:
>
> @ MGMT Command: Set Static A.. (0x002b) plen 6
> Address: C0:55:44:33:22:11 (Static)
> @ MGMT Event: Command Complete (0x0001) plen 7
> Set Static Address (0x002b) plen 4
> Status: Success (0x00)
> Current settings: 0x00008200
> Low Energy
> Static Address
> @ MGMT Event: New Settings (0x0006) plen 4
> Current settings: 0x00008200
> Low Energy
> Static Address
> < HCI Command: LE Set Random.. (0x08|0x0005) plen 6
> Address: C0:55:44:33:22:11 (Static)
> > HCI Event: Command Complete (0x0e) plen 4
> LE Set Random Address (0x08|0x0005) ncmd 1
> Status: Success (0x00)
> @ MGMT Event: Command Complete (0x0001) plen 7
> Set Powered (0x0005) plen 4
> Status: Success (0x00)
> Current settings: 0x00008201
> Powered
> Low Energy
> Static Address
> @ MGMT Event: New Settings (0x0006) plen 4
> Current settings: 0x00008201
> Powered
> Low Energy
> Static Address
>
> [...]
Here is the summary with links:
- [1/2] Bluetooth: hci_sync: Fix not setting static address
https://git.kernel.org/bluetooth/bluetooth-next/c/ca57023e7c49
- [2/2] Bluetooth: hci_sync: Fix not able to set force_static_address
https://git.kernel.org/bluetooth/bluetooth-next/c/8549542298e9
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [1/2] Bluetooth: hci_sync: Fix not setting static address
2022-10-10 20:35 [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address Brian Gix
2022-10-10 20:35 ` [PATCH 2/2] Bluetooth: hci_sync: Fix not able to set force_static_address Brian Gix
2022-10-10 21:00 ` [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address patchwork-bot+bluetooth
@ 2022-10-10 21:13 ` bluez.test.bot
2 siblings, 0 replies; 5+ messages in thread
From: bluez.test.bot @ 2022-10-10 21:13 UTC (permalink / raw)
To: linux-bluetooth, brian.gix
[-- Attachment #1: Type: text/plain, Size: 1620 bytes --]
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=684318
---Test result---
Test Summary:
CheckPatch PASS 2.59 seconds
GitLint PASS 1.52 seconds
SubjectPrefix PASS 1.31 seconds
BuildKernel PASS 34.07 seconds
BuildKernel32 PASS 31.07 seconds
Incremental Build with patchesPASS 51.01 seconds
TestRunner: Setup PASS 511.19 seconds
TestRunner: l2cap-tester PASS 17.17 seconds
TestRunner: iso-tester PASS 16.48 seconds
TestRunner: bnep-tester PASS 6.24 seconds
TestRunner: mgmt-tester FAIL 108.40 seconds
TestRunner: rfcomm-tester PASS 10.01 seconds
TestRunner: sco-tester PASS 9.54 seconds
TestRunner: ioctl-tester PASS 10.59 seconds
TestRunner: mesh-tester PASS 7.67 seconds
TestRunner: smp-tester PASS 9.43 seconds
TestRunner: userchan-tester PASS 6.46 seconds
Details
##############################
Test: TestRunner: mgmt-tester - FAIL - 108.40 seconds
Run test-runner with mgmt-tester
Total: 494, Passed: 492 (99.6%), Failed: 2, Not Run: 0
Failed Test Cases
Set Static Address - Success 1 Timed out 2.669 seconds
Set Static Address - Success 2 Timed out 2.002 seconds
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] Bluetooth: hci_sync: Fix not able to set force_static_address
2022-10-08 1:11 [PATCH 1/2] " Luiz Augusto von Dentz
@ 2022-10-08 1:11 ` Luiz Augusto von Dentz
0 siblings, 0 replies; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2022-10-08 1:11 UTC (permalink / raw)
To: linux-bluetooth
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
force_static_address shall be writable while hdev is initing but is not
considered powered yet since the static address is written only when
powered.
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
net/bluetooth/hci_debugfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/bluetooth/hci_debugfs.c b/net/bluetooth/hci_debugfs.c
index 3f401ec5bb0c..b7f682922a16 100644
--- a/net/bluetooth/hci_debugfs.c
+++ b/net/bluetooth/hci_debugfs.c
@@ -757,7 +757,7 @@ static ssize_t force_static_address_write(struct file *file,
bool enable;
int err;
- if (test_bit(HCI_UP, &hdev->flags))
+ if (hdev_is_powered(hdev))
return -EBUSY;
err = kstrtobool_from_user(user_buf, count, &enable);
--
2.37.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-10-10 21:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-10 20:35 [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address Brian Gix
2022-10-10 20:35 ` [PATCH 2/2] Bluetooth: hci_sync: Fix not able to set force_static_address Brian Gix
2022-10-10 21:00 ` [PATCH 1/2] Bluetooth: hci_sync: Fix not setting static address patchwork-bot+bluetooth
2022-10-10 21:13 ` [1/2] " bluez.test.bot
-- strict thread matches above, loose matches on Subject: below --
2022-10-08 1:11 [PATCH 1/2] " Luiz Augusto von Dentz
2022-10-08 1:11 ` [PATCH 2/2] Bluetooth: hci_sync: Fix not able to set force_static_address Luiz Augusto von Dentz
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.