|
@@ -1053,7 +1053,7 @@ int rndis_filter_device_add(struct hv_device *dev,
|
|
|
/* Send the rndis initialization message */
|
|
|
ret = rndis_filter_init_device(rndis_device);
|
|
|
if (ret != 0) {
|
|
|
- rndis_filter_device_remove(dev);
|
|
|
+ rndis_filter_device_remove(dev, net_device);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -1068,7 +1068,7 @@ int rndis_filter_device_add(struct hv_device *dev,
|
|
|
/* Get the mac address */
|
|
|
ret = rndis_filter_query_device_mac(rndis_device);
|
|
|
if (ret != 0) {
|
|
|
- rndis_filter_device_remove(dev);
|
|
|
+ rndis_filter_device_remove(dev, net_device);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -1077,7 +1077,7 @@ int rndis_filter_device_add(struct hv_device *dev,
|
|
|
/* Find HW offload capabilities */
|
|
|
ret = rndis_query_hwcaps(rndis_device, &hwcaps);
|
|
|
if (ret != 0) {
|
|
|
- rndis_filter_device_remove(dev);
|
|
|
+ rndis_filter_device_remove(dev, net_device);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -1233,13 +1233,13 @@ out:
|
|
|
return 0; /* return 0 because primary channel can be used alone */
|
|
|
|
|
|
err_dev_remv:
|
|
|
- rndis_filter_device_remove(dev);
|
|
|
+ rndis_filter_device_remove(dev, net_device);
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-void rndis_filter_device_remove(struct hv_device *dev)
|
|
|
+void rndis_filter_device_remove(struct hv_device *dev,
|
|
|
+ struct netvsc_device *net_dev)
|
|
|
{
|
|
|
- struct netvsc_device *net_dev = hv_device_to_netvsc_device(dev);
|
|
|
struct rndis_device *rndis_dev = net_dev->extension;
|
|
|
|
|
|
/* If not all subchannel offers are complete, wait for them until
|