Merge branch 'nfc-drop-redundant-usb-device-references'

Johan Hovold says:

====================
nfc: drop redundant USB device references

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 redundant device references 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 them.
====================

Link: https://patch.msgid.link/20260305111019.18030-1-johan@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2026-03-06 18:57:46 -08:00
commit 00e3228702
2 changed files with 2 additions and 6 deletions

View File

@ -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");
}

View File

@ -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);