Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc3522c5 authored by Kamal Negi's avatar Kamal Negi
Browse files

bluetooth: Notify connection deletion only for SCO/ESCO links.



When SCO is active , if we create a connection to another remote
device and delete it, then the alternate setting for the ISOC
channel is getting disabled.

THis is a bug in the BTUSB driver which listens for connection
deletion notification for both ACL and SCO.

Hence, even if ACL disconnection happens with a different remote
device, we set the alternate setting of the currently active
ISOC endpoint to '0' which disables the ISOC endpoint.

As a result there are no further SCO data being sent to the
BT controller.

Change-Id: Ie33752794ee494ffbf29941278a643d8bd103077
CRs-Fixed: 764018
Signed-off-by: default avatarKamal Negi <kamaln@codeaurora.org>
parent 7c3d564c
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
/*
   BlueZ - Bluetooth protocol stack for Linux
   Copyright (c) 2000-2001, 2010, Code Aurora Forum. All rights reserved.
   Copyright (c) 2000-2001, 2010, 2014, Code Aurora Forum. All rights
   reserved.

   Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>

@@ -467,7 +468,8 @@ int hci_conn_del(struct hci_conn *conn)
		amp_mgr_put(conn->amp_mgr);

	hci_conn_hash_del(hdev, conn);
	if (hdev->notify)
	if (hdev->notify &&
		(conn->type == SCO_LINK || conn->type == ESCO_LINK))
			hdev->notify(hdev, HCI_NOTIFY_CONN_DEL);

	skb_queue_purge(&conn->data_q);