diff options
Diffstat (limited to 'net/bluetooth/l2cap_core.c')
| -rw-r--r-- | net/bluetooth/l2cap_core.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 2c78208d793e..22e658322845 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c | |||
| @@ -3727,6 +3727,17 @@ sendresp: | |||
| 3727 | static int l2cap_connect_req(struct l2cap_conn *conn, | 3727 | static int l2cap_connect_req(struct l2cap_conn *conn, |
| 3728 | struct l2cap_cmd_hdr *cmd, u8 *data) | 3728 | struct l2cap_cmd_hdr *cmd, u8 *data) |
| 3729 | { | 3729 | { |
| 3730 | struct hci_dev *hdev = conn->hcon->hdev; | ||
| 3731 | struct hci_conn *hcon = conn->hcon; | ||
| 3732 | |||
| 3733 | hci_dev_lock(hdev); | ||
| 3734 | if (test_bit(HCI_MGMT, &hdev->dev_flags) && | ||
| 3735 | !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &hcon->flags)) | ||
| 3736 | mgmt_device_connected(hdev, &hcon->dst, hcon->type, | ||
| 3737 | hcon->dst_type, 0, NULL, 0, | ||
| 3738 | hcon->dev_class); | ||
| 3739 | hci_dev_unlock(hdev); | ||
| 3740 | |||
| 3730 | l2cap_connect(conn, cmd, data, L2CAP_CONN_RSP, 0); | 3741 | l2cap_connect(conn, cmd, data, L2CAP_CONN_RSP, 0); |
| 3731 | return 0; | 3742 | return 0; |
| 3732 | } | 3743 | } |
