summaryrefslogtreecommitdiffstats
path: root/drivers/staging/hv/netvsc_drv.c
diff options
context:
space:
mode:
authorK. Y. Srinivasan2011-05-10 16:55:01 +0200
committerGreg Kroah-Hartman2011-05-11 22:48:48 +0200
commit58de3fc6432ed1eeceae568f5cbd21caef3bd237 (patch)
tree77e8332c57879870c103e384b59c01caf89f91bb /drivers/staging/hv/netvsc_drv.c
parentStaging: hv: Get rid of the indirection to invoke netvsc_device_add() (diff)
downloadkernel-qcow2-linux-58de3fc6432ed1eeceae568f5cbd21caef3bd237.tar.gz
kernel-qcow2-linux-58de3fc6432ed1eeceae568f5cbd21caef3bd237.tar.xz
kernel-qcow2-linux-58de3fc6432ed1eeceae568f5cbd21caef3bd237.zip
Staging: hv: Get rid of the indirection in invoking rndis_filter_device_remove()
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Abhishek Kane <v-abkane@microsoft.com> Signed-off-by: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/hv/netvsc_drv.c')
-rw-r--r--drivers/staging/hv/netvsc_drv.c11
1 files 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);