unbind() is the proper place to disconnect PHY, but it will fail if
netdev is already unregistered.
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
                   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);
 
 
        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);