From 6c7f710325228a54a364ae433acd8779c2fc2bcf Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Thu, 5 Mar 2026 12:10:18 +0100 Subject: [PATCH 1/2] nfc: pn533: 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 Link: https://patch.msgid.link/20260305111019.18030-2-johan@kernel.org Signed-off-by: Jakub Kicinski --- drivers/nfc/pn533/usb.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/nfc/pn533/usb.c b/drivers/nfc/pn533/usb.c index 0f12f86ebb02..0ff2f0d7caf4 100644 --- a/drivers/nfc/pn533/usb.c +++ b/drivers/nfc/pn533/usb.c @@ -500,7 +500,7 @@ static int pn533_usb_probe(struct usb_interface *interface, if (!in_buf) return -ENOMEM; - phy->udev = usb_get_dev(interface_to_usbdev(interface)); + phy->udev = interface_to_usbdev(interface); phy->interface = interface; iface_desc = interface->cur_altsetting; @@ -600,7 +600,6 @@ static int pn533_usb_probe(struct usb_interface *interface, usb_free_urb(phy->in_urb); usb_free_urb(phy->out_urb); usb_free_urb(phy->ack_urb); - usb_put_dev(phy->udev); kfree(in_buf); kfree(phy->ack_buffer); @@ -628,7 +627,6 @@ static void pn533_usb_disconnect(struct usb_interface *interface) usb_free_urb(phy->out_urb); usb_free_urb(phy->ack_urb); kfree(phy->ack_buffer); - usb_put_dev(phy->udev); nfc_info(&interface->dev, "NXP PN533 NFC device disconnected\n"); } From 1a2d4bfa04919c2e1676b756ccc21dd8e22d3838 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Thu, 5 Mar 2026 12:10:19 +0100 Subject: [PATCH 2/2] nfc: port100: 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 Link: https://patch.msgid.link/20260305111019.18030-3-johan@kernel.org Signed-off-by: Jakub Kicinski --- drivers/nfc/port100.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/nfc/port100.c b/drivers/nfc/port100.c index a922569d7b48..09dcc6f4c4f3 100644 --- a/drivers/nfc/port100.c +++ b/drivers/nfc/port100.c @@ -1504,7 +1504,7 @@ static int port100_probe(struct usb_interface *interface, return -ENOMEM; mutex_init(&dev->out_urb_lock); - dev->udev = usb_get_dev(interface_to_usbdev(interface)); + dev->udev = interface_to_usbdev(interface); dev->interface = interface; usb_set_intfdata(interface, dev); @@ -1616,7 +1616,6 @@ static int port100_probe(struct usb_interface *interface, usb_free_urb(dev->in_urb); usb_kill_urb(dev->out_urb); usb_free_urb(dev->out_urb); - usb_put_dev(dev->udev); return rc; } @@ -1636,7 +1635,6 @@ static void port100_disconnect(struct usb_interface *interface) usb_free_urb(dev->in_urb); usb_free_urb(dev->out_urb); - usb_put_dev(dev->udev); kfree(dev->cmd);