[PATCH][re-post] vmbus: fix subchannel removal

Sasha Levin sashal at kernel.org
Thu Jan 10 00:20:50 UTC 2019


On Wed, Jan 09, 2019 at 08:56:06PM +0000, Dexuan Cui wrote:
>
>The changes to split ring allocation from open/close, broke
>the cleanup of subchannels. This resulted in problems using
>uio on network devices because the subchannel was left behind
>when the network device was unbound.
>
>The cause was in the disconnect logic which used list splice
>to move the subchannel list into a local variable. This won't
>work because the subchannel list is needed later during the
>process of the rescind messages (relid2channel).
>
>The fix is to just leave the subchannel list in place
>which is what the original code did. The list is cleaned
>up later when the host rescind is processed.
>
>Without the fix, we have a lot of "hang" issues in netvsc when we
>try to change the NIC's MTU, set the number of channels, etc.
>
>Fixes: ae6935ed7d42 ("vmbus: split ring buffer allocation from open")
>Cc: stable at vger.kernel.org
>Signed-off-by: Stephen Hemminger <sthemmin at microsoft.com>
>Signed-off-by: Dexuan Cui <decui at microsoft.com>

Queued, thank you.

--
Thanks,
Sasha


More information about the devel mailing list