]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: mt76: mt792xu: drop redundant device reference
authorJohan Hovold <johan@kernel.org>
Thu, 30 Apr 2026 08:33:34 +0000 (10:33 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 9 Jun 2026 10:15:20 +0000 (10:15 +0000)
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/20260430083335.215239-5-johan@kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/usb.c
drivers/net/wireless/mediatek/mt76/mt7925/usb.c
drivers/net/wireless/mediatek/mt76/mt792x_usb.c

index 17057e68bf21dc05d2a8ef8421a578b76a246487..9bfc234f306f34c9eb72234b8fc422a6a9eda426 100644 (file)
@@ -197,7 +197,6 @@ static int mt7921u_probe(struct usb_interface *usb_intf,
        dev->fw_features = features;
        dev->hif_ops = &hif_ops;
 
-       udev = usb_get_dev(udev);
        usb_reset_device(udev);
 
        usb_set_intfdata(usb_intf, dev);
@@ -246,7 +245,6 @@ error:
        mt76u_queues_deinit(&dev->mt76);
 
        usb_set_intfdata(usb_intf, NULL);
-       usb_put_dev(interface_to_usbdev(usb_intf));
 
        mt76_free_device(&dev->mt76);
 
index d9968f03856d82af93b88ab274b6477d74b14406..84bcebbf009a9bf49b4b584cb607ebe398a2c251 100644 (file)
@@ -185,7 +185,6 @@ static int mt7925u_probe(struct usb_interface *usb_intf,
        dev->fw_features = features;
        dev->hif_ops = &hif_ops;
 
-       udev = usb_get_dev(udev);
        usb_reset_device(udev);
 
        usb_set_intfdata(usb_intf, dev);
@@ -234,7 +233,6 @@ error:
        mt76u_queues_deinit(&dev->mt76);
 
        usb_set_intfdata(usb_intf, NULL);
-       usb_put_dev(interface_to_usbdev(usb_intf));
 
        mt76_free_device(&dev->mt76);
 
index 47827d1c5ccb1267b9896edd1fa6356381ef6d11..0d9dbd0aaf9e493083ba7657a03e64dae4926c5e 100644 (file)
@@ -341,7 +341,6 @@ void mt792xu_disconnect(struct usb_interface *usb_intf)
        mt792xu_cleanup(dev);
 
        usb_set_intfdata(usb_intf, NULL);
-       usb_put_dev(interface_to_usbdev(usb_intf));
 
        mt76_free_device(&dev->mt76);
 }