diff options
Diffstat (limited to 'net/bluetooth_mgmt/hci_event.c')
-rw-r--r-- | net/bluetooth_mgmt/hci_event.c | 19 |
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)) { |