Commit 3a7fdfb
committed
Bluetooth: hci_event: Fix handling of HCI_EV_LE_DIRECT_ADV_REPORT
Some controllers seems to generate HCI_EV_LE_DIRECT_ADV_REPORT even when
scan_filter is not set to 0x02 or 0x03, which indicates that local
privacy is enabled, causing them to be ignored thus breaking
auto-connect logic:
< HCI Command: LE Set Scan Parameters (0x08|0x000b) plen 7
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
Own address type: Public (0x00)
Filter policy: Ignore not in accept list (0x01)
...
> HCI Event: LE Meta Event (0x3e) plen 18
LE Direct Advertising Report (0x0b)
Num reports: 1
Event type: Connectable directed - ADV_DIRECT_IND (0x01)
Address type: Random (0x01)
Address: XX:XX:XX:XX:XX:XX (Static)
Direct address type: Random (0x01)
Direct address: XX:XX:XX:XX:XX:XX (Non-Resolvable)
RSSI: -54 dBm (0xca)
So this attempts to mitigate the above problem by skipping checking of
direct_addr if local privacy is not enabled.
Link: bluez/bluez#1138
Fixes: e209e5c ("Bluetooth: MGMT: Mark LL Privacy as stable")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>1 parent 1f77c05 commit 3a7fdfb
1 file changed
+10
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6060 | 6060 | | |
6061 | 6061 | | |
6062 | 6062 | | |
| 6063 | + | |
| 6064 | + | |
| 6065 | + | |
| 6066 | + | |
| 6067 | + | |
| 6068 | + | |
| 6069 | + | |
| 6070 | + | |
6063 | 6071 | | |
6064 | | - | |
| 6072 | + | |
| 6073 | + | |
6065 | 6074 | | |
6066 | 6075 | | |
6067 | 6076 | | |
| |||
6071 | 6080 | | |
6072 | 6081 | | |
6073 | 6082 | | |
6074 | | - | |
6075 | | - | |
6076 | | - | |
6077 | | - | |
6078 | | - | |
6079 | | - | |
6080 | 6083 | | |
6081 | 6084 | | |
6082 | 6085 | | |
| |||
0 commit comments