summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAndre Guedes2013-01-30 15:50:55 +0100
committerGustavo Padovan2013-01-31 18:38:02 +0100
commit4c02e2d444595200d0b18b889994aac3611cd288 (patch)
tree3987a936a05bd8223f169117953b4bb44e4b920d /net
parentBluetooth: Fix handling of unexpected SMP PDUs (diff)
downloadkernel-qcow2-linux-4c02e2d444595200d0b18b889994aac3611cd288.tar.gz
kernel-qcow2-linux-4c02e2d444595200d0b18b889994aac3611cd288.tar.xz
kernel-qcow2-linux-4c02e2d444595200d0b18b889994aac3611cd288.zip
Bluetooth: Fix hci_conn timeout routine
If occurs a LE or SCO hci_conn timeout and the connection is already established (BT_CONNECTED state), the connection is not terminated as expected. This bug can be reproduced using l2test or scotest tool. Once the connection is established, kill l2test/scotest and the connection won't be terminated. This patch fixes hci_conn_disconnect helper so it is able to terminate LE and SCO connections, as well as ACL. Signed-off-by: Andre Guedes <andre.guedes@openbossa.org> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/hci_conn.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 25bfce0666eb..4925a02ae7e4 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -249,12 +249,12 @@ static void hci_conn_disconnect(struct hci_conn *conn)
__u8 reason = hci_proto_disconn_ind(conn);
switch (conn->type) {
- case ACL_LINK:
- hci_acl_disconn(conn, reason);
- break;
case AMP_LINK:
hci_amp_disconn(conn, reason);
break;
+ default:
+ hci_acl_disconn(conn, reason);
+ break;
}
}