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

Commit 716e4ab5 authored by Andrei Emeltchenko's avatar Andrei Emeltchenko Committed by Gustavo Padovan
Browse files

Bluetooth: AMP: Hanlde AMP_LINK case in conn_put



Handle AMP link when setting up disconnect timeout.

Signed-off-by: default avatarAndrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
parent bd1eb66b
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -605,7 +605,10 @@ static inline void hci_conn_put(struct hci_conn *conn)

	if (atomic_dec_and_test(&conn->refcnt)) {
		unsigned long timeo;
		if (conn->type == ACL_LINK || conn->type == LE_LINK) {

		switch (conn->type) {
		case ACL_LINK:
		case LE_LINK:
			del_timer(&conn->idle_timer);
			if (conn->state == BT_CONNECTED) {
				timeo = conn->disc_timeout;
@@ -614,9 +617,17 @@ static inline void hci_conn_put(struct hci_conn *conn)
			} else {
				timeo = msecs_to_jiffies(10);
			}
		} else {
			break;

		case AMP_LINK:
			timeo = conn->disc_timeout;
			break;

		default:
			timeo = msecs_to_jiffies(10);
			break;
		}

		cancel_delayed_work(&conn->disc_work);
		queue_delayed_work(conn->hdev->workqueue,
				   &conn->disc_work, timeo);