]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
i2c: robotfuzz-osif: drop redundant device reference
authorJohan Hovold <johan@kernel.org>
Thu, 5 Mar 2026 10:29:55 +0000 (11:29 +0100)
committerWolfram Sang <wsa+renesas@sang-engineering.com>
Mon, 9 Mar 2026 11:54:03 +0000 (12:54 +0100)
Driver core holds a reference to the USB interface and its parent USB
device while the interface is bound to a driver and there is no need to
take additional references unless the structures are needed after
disconnect.

Drop the redundant device reference to reduce cargo culting, make it
easier to spot drivers where an extra reference is needed, and reduce
the risk of memory leaks when drivers fail to release it.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
drivers/i2c/busses/i2c-robotfuzz-osif.c

index e0a76fb5bc31f525ab31f680866f7bf00d38050e..412fa8e37f69e1e074f99f60fc11cbdcda5783f2 100644 (file)
@@ -141,7 +141,7 @@ static int osif_probe(struct usb_interface *interface,
        if (!priv)
                return -ENOMEM;
 
-       priv->usb_dev = usb_get_dev(interface_to_usbdev(interface));
+       priv->usb_dev = interface_to_usbdev(interface);
        priv->interface = interface;
 
        usb_set_intfdata(interface, priv);
@@ -163,7 +163,6 @@ static int osif_probe(struct usb_interface *interface,
                            NULL, 0);
        if (ret) {
                dev_err(&interface->dev, "failure sending bit rate");
-               usb_put_dev(priv->usb_dev);
                return ret;
        }
 
@@ -184,7 +183,6 @@ static void osif_disconnect(struct usb_interface *interface)
 
        i2c_del_adapter(&(priv->adapter));
        usb_set_intfdata(interface, NULL);
-       usb_put_dev(priv->usb_dev);
 }
 
 static struct usb_driver osif_driver = {