Commit 58de3fc6 authored by K. Y. Srinivasan's avatar K. Y. Srinivasan Committed by Greg Kroah-Hartman

Staging: hv: Get rid of the indirection in invoking rndis_filter_device_remove()

Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarAbhishek Kane <v-abkane@microsoft.com>
Signed-off-by: default avatarHank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent ce5bf661
...@@ -342,8 +342,6 @@ static void netvsc_send_garp(struct work_struct *w) ...@@ -342,8 +342,6 @@ static void netvsc_send_garp(struct work_struct *w)
static int netvsc_probe(struct hv_device *dev) static int netvsc_probe(struct hv_device *dev)
{ {
struct netvsc_driver *net_drv_obj =
drv_to_netvscdrv(dev->device.driver);
struct net_device *net = NULL; struct net_device *net = NULL;
struct net_device_context *net_device_ctx; struct net_device_context *net_device_ctx;
struct netvsc_device_info device_info; struct netvsc_device_info device_info;
...@@ -398,7 +396,7 @@ static int netvsc_probe(struct hv_device *dev) ...@@ -398,7 +396,7 @@ static int netvsc_probe(struct hv_device *dev)
ret = register_netdev(net); ret = register_netdev(net);
if (ret != 0) { if (ret != 0) {
/* Remove the device and release the resource */ /* Remove the device and release the resource */
net_drv_obj->base.dev_rm(dev); rndis_filter_device_remove(dev);
free_netdev(net); free_netdev(net);
} }
...@@ -407,8 +405,6 @@ static int netvsc_probe(struct hv_device *dev) ...@@ -407,8 +405,6 @@ static int netvsc_probe(struct hv_device *dev)
static int netvsc_remove(struct hv_device *dev) static int netvsc_remove(struct hv_device *dev)
{ {
struct netvsc_driver *net_drv_obj =
drv_to_netvscdrv(dev->device.driver);
struct net_device *net = dev_get_drvdata(&dev->device); struct net_device *net = dev_get_drvdata(&dev->device);
int ret; int ret;
...@@ -417,9 +413,6 @@ static int netvsc_remove(struct hv_device *dev) ...@@ -417,9 +413,6 @@ static int netvsc_remove(struct hv_device *dev)
return 0; return 0;
} }
if (!net_drv_obj->base.dev_rm)
return -1;
/* Stop outbound asap */ /* Stop outbound asap */
netif_stop_queue(net); netif_stop_queue(net);
/* netif_carrier_off(net); */ /* netif_carrier_off(net); */
...@@ -430,7 +423,7 @@ static int netvsc_remove(struct hv_device *dev) ...@@ -430,7 +423,7 @@ static int netvsc_remove(struct hv_device *dev)
* Call to the vsc driver to let it know that the device is being * Call to the vsc driver to let it know that the device is being
* removed * removed
*/ */
ret = net_drv_obj->base.dev_rm(dev); ret = rndis_filter_device_remove(dev);
if (ret != 0) { if (ret != 0) {
/* TODO: */ /* TODO: */
netdev_err(net, "unable to remove vsc device (ret %d)\n", ret); netdev_err(net, "unable to remove vsc device (ret %d)\n", ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment