Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ieee802154: atusb: 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>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org>
Link: https://patch.msgid.link/20260305104313.15898-1-johan@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Johan Hovold and committed by
Jakub Kicinski
4e9b1994 ad6b67ff

+1 -4
+1 -4
drivers/net/ieee802154/atusb.c
··· 961 961 962 962 atusb = hw->priv; 963 963 atusb->hw = hw; 964 - atusb->usb_dev = usb_get_dev(usb_dev); 964 + atusb->usb_dev = usb_dev; 965 965 usb_set_intfdata(interface, atusb); 966 966 967 967 atusb->shutdown = 0; ··· 1055 1055 atusb_free_urbs(atusb); 1056 1056 usb_kill_urb(atusb->tx_urb); 1057 1057 usb_free_urb(atusb->tx_urb); 1058 - usb_put_dev(usb_dev); 1059 1058 ieee802154_free_hw(hw); 1060 1059 return ret; 1061 1060 } ··· 1074 1075 usb_free_urb(atusb->tx_urb); 1075 1076 1076 1077 ieee802154_unregister_hw(atusb->hw); 1077 - 1078 - usb_put_dev(atusb->usb_dev); 1079 1078 1080 1079 ieee802154_free_hw(atusb->hw); 1081 1080