Commit 2c9d6c2b authored by Oleksij Rempel's avatar Oleksij Rempel Committed by David S. Miller
Browse files

usbnet: run unbind() before unregister_netdev()



unbind() is the proper place to disconnect PHY, but it will fail if
netdev is already unregistered.

Signed-off-by: default avatarOleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 06edf1a9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1597,6 +1597,9 @@ void usbnet_disconnect (struct usb_interface *intf)
		   xdev->bus->bus_name, xdev->devpath,
		   dev->driver_info->description);

	if (dev->driver_info->unbind)
		dev->driver_info->unbind(dev, intf);

	net = dev->net;
	unregister_netdev (net);

@@ -1604,9 +1607,6 @@ void usbnet_disconnect (struct usb_interface *intf)

	usb_scuttle_anchored_urbs(&dev->deferred);

	if (dev->driver_info->unbind)
		dev->driver_info->unbind (dev, intf);

	usb_kill_urb(dev->interrupt);
	usb_free_urb(dev->interrupt);
	kfree(dev->padding_pkt);