From 58de3fc6432ed1eeceae568f5cbd21caef3bd237 Mon Sep 17 00:00:00 2001 From: "K. Y. Srinivasan" Date: Tue, 10 May 2011 07:55:01 -0700 Subject: [PATCH] Staging: hv: Get rid of the indirection in invoking rndis_filter_device_remove() Signed-off-by: K. Y. Srinivasan Signed-off-by: Haiyang Zhang Signed-off-by: Abhishek Kane Signed-off-by: Hank Janssen Signed-off-by: Greg Kroah-Hartman --- drivers/staging/hv/netvsc_drv.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c index d962308926f0..3fc39cdafed6 100644 --- a/drivers/staging/hv/netvsc_drv.c +++ b/drivers/staging/hv/netvsc_drv.c @@ -342,8 +342,6 @@ static void netvsc_send_garp(struct work_struct *w) 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_context *net_device_ctx; struct netvsc_device_info device_info; @@ -398,7 +396,7 @@ static int netvsc_probe(struct hv_device *dev) ret = register_netdev(net); if (ret != 0) { /* Remove the device and release the resource */ - net_drv_obj->base.dev_rm(dev); + rndis_filter_device_remove(dev); free_netdev(net); } @@ -407,8 +405,6 @@ static int netvsc_probe(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); int ret; @@ -417,9 +413,6 @@ static int netvsc_remove(struct hv_device *dev) return 0; } - if (!net_drv_obj->base.dev_rm) - return -1; - /* Stop outbound asap */ netif_stop_queue(net); /* netif_carrier_off(net); */ @@ -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 * removed */ - ret = net_drv_obj->base.dev_rm(dev); + ret = rndis_filter_device_remove(dev); if (ret != 0) { /* TODO: */ netdev_err(net, "unable to remove vsc device (ret %d)\n", ret); -- 2.39.5