]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
usb: gadget: u_ether: Replace netif_stop_queue with netif_device_detach
authorHardik Gajjar <hgajjar@de.adit-jv.com>
Fri, 6 Oct 2023 15:56:46 +0000 (17:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Oct 2023 05:50:36 +0000 (07:50 +0200)
This patch replaces the usage of netif_stop_queue with netif_device_detach
in the u_ether driver. The netif_device_detach function not only stops all
tx queues by calling netif_tx_stop_all_queues but also marks the device as
removed by clearing the __LINK_STATE_PRESENT bit.

This change helps notify user space about the disconnection of the device
more effectively, compared to netif_stop_queue, which only stops a single
transmit queue.

Signed-off-by: Hardik Gajjar <hgajjar@de.adit-jv.com>
Link: https://lore.kernel.org/r/20231006155646.12938-1-hgajjar@de.adit-jv.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/u_ether.c

index 4bb0553da6585761110c9fb8107241a0aeb8522a..9d1c40c152d86448a63017575931553240b1bd7c 100644 (file)
@@ -1200,7 +1200,7 @@ void gether_disconnect(struct gether *link)
 
        DBG(dev, "%s\n", __func__);
 
-       netif_stop_queue(dev->net);
+       netif_device_detach(dev->net);
        netif_carrier_off(dev->net);
 
        /* disable endpoints, forcing (synchronous) completion