summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2026-03-05 14:15:11 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-03-11 17:14:35 +0300
commit9b91cafe8084d83c14d0303fc5897c4ff43122c0 (patch)
tree3e1e1bf887c2859372d32cde553eeb257f81a67d
parent58221c728d087ece9671d4d9f6fd0a321531d2de (diff)
downloadlinux-9b91cafe8084d83c14d0303fc5897c4ff43122c0.tar.xz
USB: usbsevseg: drop redundant device reference
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> Link: https://patch.msgid.link/20260305111511.18386-6-johan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/misc/usbsevseg.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/misc/usbsevseg.c b/drivers/usb/misc/usbsevseg.c
index b37bf53dd54f..89d25fcef642 100644
--- a/drivers/usb/misc/usbsevseg.c
+++ b/drivers/usb/misc/usbsevseg.c
@@ -312,7 +312,7 @@ static int sevseg_probe(struct usb_interface *interface,
if (!mydev)
goto error_mem;
- mydev->udev = usb_get_dev(udev);
+ mydev->udev = udev;
mydev->intf = interface;
usb_set_intfdata(interface, mydev);
@@ -338,7 +338,6 @@ static void sevseg_disconnect(struct usb_interface *interface)
mydev = usb_get_intfdata(interface);
usb_set_intfdata(interface, NULL);
- usb_put_dev(mydev->udev);
kfree(mydev);
dev_info(&interface->dev, "USB 7 Segment now disconnected\n");
}