]> git.baikalelectronics.ru Git - kernel.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)
commit17401fad5b97534cc905f8f934b9b579515587bd
treebbee36ebf269c564f53dc8a604c6543849d7078d
parent65f43c52858b6703bdf3d437d904e5a1250c1f10
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: 8231206ef815 ("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