hv_netvsc: Add close of RNDIS filter into change mtu call
authorHaiyang Zhang <haiyangz@microsoft.com>
Mon, 13 Jul 2015 20:09:16 +0000 (13:09 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 16 Jul 2015 04:11:31 +0000 (21:11 -0700)
commit2de8530ba0c71a2fba02590681af0f3a2a187a9b
tree3efd6506afccfdbd8de3136d3f498198d408d4c7
parentc0b8da1e7613a11ce7e44560aae507b62da1f846
hv_netvsc: Add close of RNDIS filter into change mtu call

The current change mtu call only stops tx before removing RNDIS filter.
In case ringbufer is not empty, the rndis_filter_device_remove() may
hang on removing the buffers.

This patch adds close of RNDIS filter before removing it, also a
gradual waiting loop until the ring is empty. The change_mtu hang
issue under heavy traffic is solved by this patch.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc_drv.c