Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetoot...
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Tue, 12 Jun 2012 01:36:42 +0000 (22:36 -0300)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Tue, 12 Jun 2012 01:36:42 +0000 (22:36 -0300)
Conflicts:
net/bluetooth/hci_event.c

1  2 
include/net/bluetooth/hci.h
net/bluetooth/hci_event.c
net/bluetooth/l2cap_core.c
net/bluetooth/mgmt.c
net/bluetooth/smp.c

Simple merge
@@@ -3040,7 -3043,51 +3040,51 @@@ static void hci_extended_inquiry_result
        hci_dev_unlock(hdev);
  }
  
 -static inline u8 hci_get_auth_req(struct hci_conn *conn)
+ static void hci_key_refresh_complete_evt(struct hci_dev *hdev,
+                                        struct sk_buff *skb)
+ {
+       struct hci_ev_key_refresh_complete *ev = (void *) skb->data;
+       struct hci_conn *conn;
+       BT_DBG("%s status %u handle %u", hdev->name, ev->status,
+              __le16_to_cpu(ev->handle));
+       hci_dev_lock(hdev);
+       conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
+       if (!conn)
+               goto unlock;
+       if (!ev->status)
+               conn->sec_level = conn->pending_sec_level;
+       clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags);
+       if (ev->status && conn->state == BT_CONNECTED) {
+               hci_acl_disconn(conn, HCI_ERROR_AUTH_FAILURE);
+               hci_conn_put(conn);
+               goto unlock;
+       }
+       if (conn->state == BT_CONFIG) {
+               if (!ev->status)
+                       conn->state = BT_CONNECTED;
+               hci_proto_connect_cfm(conn, ev->status);
+               hci_conn_put(conn);
+       } else {
+               hci_auth_cfm(conn, ev->status);
+               hci_conn_hold(conn);
+               conn->disc_timeout = HCI_DISCONN_TIMEOUT;
+               hci_conn_put(conn);
+       }
+ unlock:
+       hci_dev_unlock(hdev);
+ }
 +static u8 hci_get_auth_req(struct hci_conn *conn)
  {
        /* If remote requests dedicated bonding follow that lead */
        if (conn->remote_auth == 0x02 || conn->remote_auth == 0x03) {
Simple merge
Simple merge
Simple merge