diff --git a/drivers/net/mdio/mdio-mvusb.c b/drivers/net/mdio/mdio-mvusb.c index 554837c21e73..86786ecaa4b1 100644 --- a/drivers/net/mdio/mdio-mvusb.c +++ b/drivers/net/mdio/mdio-mvusb.c @@ -67,7 +67,6 @@ static int mvusb_mdio_probe(struct usb_interface *interface, struct device *dev = &interface->dev; struct mvusb_mdio *mvusb; struct mii_bus *mdio; - int ret; mdio = devm_mdiobus_alloc_size(dev, sizeof(*mvusb)); if (!mdio) @@ -75,7 +74,7 @@ static int mvusb_mdio_probe(struct usb_interface *interface, mvusb = mdio->priv; mvusb->mdio = mdio; - mvusb->udev = usb_get_dev(interface_to_usbdev(interface)); + mvusb->udev = interface_to_usbdev(interface); /* Reversed from USB PCAPs, no idea what these mean. */ mvusb->buf[MVUSB_CMD_PREAMBLE0] = cpu_to_le16(0xe800); @@ -88,25 +87,16 @@ static int mvusb_mdio_probe(struct usb_interface *interface, mdio->write = mvusb_mdio_write; usb_set_intfdata(interface, mvusb); - ret = of_mdiobus_register(mdio, dev->of_node); - if (ret) - goto put_dev; - return 0; - -put_dev: - usb_put_dev(mvusb->udev); - return ret; + return of_mdiobus_register(mdio, dev->of_node); } static void mvusb_mdio_disconnect(struct usb_interface *interface) { struct mvusb_mdio *mvusb = usb_get_intfdata(interface); - struct usb_device *udev = mvusb->udev; mdiobus_unregister(mvusb->mdio); usb_set_intfdata(interface, NULL); - usb_put_dev(udev); } static struct usb_driver mvusb_mdio_driver = {