aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth_mgmt/hci_event.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/bluetooth_mgmt/hci_event.c')
-rw-r--r--net/bluetooth_mgmt/hci_event.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/net/bluetooth_mgmt/hci_event.c b/net/bluetooth_mgmt/hci_event.c
index 7dc2018..9a3e6a6 100644
--- a/net/bluetooth_mgmt/hci_event.c
+++ b/net/bluetooth_mgmt/hci_event.c
@@ -1111,8 +1111,13 @@ static inline void hci_cs_inquiry(struct hci_dev *hdev, __u8 status)
hci_req_complete(hdev, HCI_OP_INQUIRY, status);
hci_conn_check_pending(hdev);
hci_dev_lock(hdev);
- if (test_bit(HCI_MGMT, &hdev->dev_flags))
+ if (test_bit(HCI_MGMT, &hdev->dev_flags)) {
+ /* [GGSM/sc47.yun] P120828-6815. Discovery fail issue */
+ BT_ERR("Discovery can't be done with other commands");
+ hci_discovery_set_state(hdev, DISCOVERY_STOPPING);
+
mgmt_start_discovery_failed(hdev, status);
+ }
hci_dev_unlock(hdev);
return;
}
@@ -1899,6 +1904,18 @@ static inline void hci_auth_complete_evt(struct hci_dev *hdev, struct sk_buff *s
return;
}
+ /* SS_BLUETOOTH(is80.hwang) 2012.05.18 */
+ /* for pin code request issue */
+#if defined(CONFIG_BT_CSR8811)
+ if (ev->status == 0x06 ) {
+ BT_ERR("Pin or key missing !!!");
+ hci_remove_link_key(hdev, &conn->dst);
+ hci_dev_unlock(hdev);
+ return ;
+ }
+#endif
+ /* SS_BLUEZ_BT(is80.hwang) End */
+
if (!ev->status) {
if (!(conn->ssp_mode > 0 && hdev->ssp_mode > 0) &&
test_bit(HCI_CONN_REAUTH_PEND, &conn->flags)) {