]> asedeno.scripts.mit.edu Git - linux.git/commit
net: thunderbolt: Run disconnect flow asynchronously when logout is received
authorMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 12 Feb 2018 14:10:20 +0000 (17:10 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Feb 2018 17:03:04 +0000 (12:03 -0500)
commit027d351c541744c0c780dd5801c63e4b90750b90
treebbee36ebf269c564f53dc8a604c6543849d7078d
parent8e021a14d908475fea89ef85b5421865f7ad650d
net: thunderbolt: Run disconnect flow asynchronously when logout is received

The control channel calls registered callbacks when control messages
such as XDomain protocol messages are received. The control channel
handling is done in a worker running on system workqueue which means the
networking driver can't run tear down flow which includes sending
disconnect request and waiting for a reply in the same worker. Otherwise
reply is never received (as the work is already running) and the
operation times out.

To fix this run disconnect ThunderboltIP flow asynchronously once
ThunderboltIP logout message is received.

Fixes: e69b6c02b4c3 ("net: Add support for networking over Thunderbolt cable")
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/thunderbolt.c