Bluetooth: Fix SCO connection reference
authorClaudio Takahasi <claudio.takahasi@openbossa.org>
Thu, 11 Apr 2013 16:53:34 +0000 (13:53 -0300)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Thu, 11 Apr 2013 19:34:16 +0000 (16:34 -0300)
This patch fixes decrementing SCO connection reference right after
stablishing the SCO connection with defer setup enabled. The dump below
shows a disconnection command with handle 0, the connection is still in
BT_CONNECT2 state and there isn't a handle associated with it.

< HCI Command: Accept Synchronous Connection (0x01|0x0029) plen 21
  bdaddr 78:47:1D:B3:72:6C
> HCI Event: Command Status (0x0f) plen 4
  Accept Synchronous Connection (0x01|0x0029) status 0x00 ncmd 1
< HCI Command: Disconnect (0x01|0x0006) plen 3
  handle 0 reason 0x13
  Reason: Remote User Terminated Connection
> HCI Event: Command Status (0x0f) plen 4
  Disconnect (0x01|0x0006) status 0x00 ncmd 1
> HCI Event: Synchronous Connect Complete (0x2c) plen 17
  status 0x00 handle 46 bdaddr 78:47:1D:B3:72:6C
  type eSCO
  Air mode: CVSD
< SCO data: handle 46 flags 0x00 dlen 48

Signed-off-by: Claudio Takahasi <claudio.takahasi@openbossa.org>
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/hci_event.c

index 2cf28b198b31f5a83c41c3f46b4c7dd35da91801..f6ea3c734269670ab23c60c5ed55f45af31ddc42 100644 (file)
@@ -1860,7 +1860,6 @@ static void hci_conn_request_evt(struct hci_dev *hdev, struct sk_buff *skb)
                } else {
                        conn->state = BT_CONNECT2;
                        hci_proto_connect_cfm(conn, 0);
-                       hci_conn_drop(conn);
                }
        } else {
                /* Connection rejected */