hv_netvsc: netvsc_teardown_gpadl() split
authorVitaly Kuznetsov <vkuznets@redhat.com>
Thu, 2 Nov 2017 10:35:30 +0000 (11:35 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Nov 2017 01:28:54 +0000 (10:28 +0900)
commit0cf737808ae7cb25e952be619db46b9147a92f46
treeee073c8cd135bb15032092384f2f0a30826a4cc3
parent3928ee6485a316c8abde7e24c7f82033a1c8d3ae
hv_netvsc: netvsc_teardown_gpadl() split

It was found that in some cases host refuses to teardown GPADL for send/
receive buffers (probably when some work with these buffere is scheduled or
ongoing). Change the teardown logic to be:
1) Send NVSP_MSG1_TYPE_REVOKE_* messages
2) Close the channel
3) Teardown GPADLs.
This seems to work reliably.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc.c