hv_netvsc: fix error unwind handling if vmbus_open fails
authorStephen Hemminger <stephen@networkplumber.org>
Fri, 2 Mar 2018 21:49:03 +0000 (13:49 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Mar 2018 03:18:20 +0000 (22:18 -0500)
Need to delete NAPI association if vmbus_open fails.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc.c

index 686900d61374b27b1118d2417753fadfe9515d38..ff97a85b2e9d73625c0cffbcbdd6f3c813228f1a 100644 (file)
@@ -1286,7 +1286,6 @@ struct netvsc_device *netvsc_device_add(struct hv_device *device,
                         netvsc_channel_cb, net_device->chan_table);
 
        if (ret != 0) {
-               netif_napi_del(&net_device->chan_table[0].napi);
                netdev_err(ndev, "unable to open channel: %d\n", ret);
                goto cleanup;
        }
@@ -1319,6 +1318,7 @@ close:
        vmbus_close(device->channel);
 
 cleanup:
+       netif_napi_del(&net_device->chan_table[0].napi);
        free_netvsc_device(&net_device->rcu);
 
        return ERR_PTR(ret);