diff options
author | Szymon Janc <szymon.janc@tieto.com> | 2011-04-06 07:01:59 -0400 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-04-13 11:20:02 -0400 |
commit | e1ba1f15469903b6f443fbf00f069d169e3fba6d (patch) | |
tree | 15ab7596925597ed149f2e1d5f462e1905fcc078 /net/bluetooth | |
parent | 9f69bda6aa8b365169b4a6fd35432ee40574d661 (diff) |
Bluetooth: Fix Out Of Band pairing when mgmt interface is disabled
Use kernel stored remote Out Of Band data only if management interface
is enabled. Otherwise HCI_OP_REMOTE_OOB_DATA_NEG_REPLY was sent to
controller even if remote Out Of Band data was present in bluetoothd.
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/hci_event.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 7a3398d9cd65..c7eb073fe633 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c | |||
@@ -2497,6 +2497,9 @@ static inline void hci_remote_oob_data_request_evt(struct hci_dev *hdev, | |||
2497 | 2497 | ||
2498 | hci_dev_lock(hdev); | 2498 | hci_dev_lock(hdev); |
2499 | 2499 | ||
2500 | if (!test_bit(HCI_MGMT, &hdev->flags)) | ||
2501 | goto unlock; | ||
2502 | |||
2500 | data = hci_find_remote_oob_data(hdev, &ev->bdaddr); | 2503 | data = hci_find_remote_oob_data(hdev, &ev->bdaddr); |
2501 | if (data) { | 2504 | if (data) { |
2502 | struct hci_cp_remote_oob_data_reply cp; | 2505 | struct hci_cp_remote_oob_data_reply cp; |
@@ -2515,6 +2518,7 @@ static inline void hci_remote_oob_data_request_evt(struct hci_dev *hdev, | |||
2515 | &cp); | 2518 | &cp); |
2516 | } | 2519 | } |
2517 | 2520 | ||
2521 | unlock: | ||
2518 | hci_dev_unlock(hdev); | 2522 | hci_dev_unlock(hdev); |
2519 | } | 2523 | } |
2520 | 2524 | ||