hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/net/mdio/mdio-mvusb.c
....@@ -73,6 +73,7 @@
7373 struct device *dev = &interface->dev;
7474 struct mvusb_mdio *mvusb;
7575 struct mii_bus *mdio;
76
+ int ret;
7677
7778 mdio = devm_mdiobus_alloc_size(dev, sizeof(*mvusb));
7879 if (!mdio)
....@@ -93,7 +94,15 @@
9394 mdio->write = mvusb_mdio_write;
9495
9596 usb_set_intfdata(interface, mvusb);
96
- return of_mdiobus_register(mdio, dev->of_node);
97
+ ret = of_mdiobus_register(mdio, dev->of_node);
98
+ if (ret)
99
+ goto put_dev;
100
+
101
+ return 0;
102
+
103
+put_dev:
104
+ usb_put_dev(mvusb->udev);
105
+ return ret;
97106 }
98107
99108 static void mvusb_mdio_disconnect(struct usb_interface *interface)