]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: mctp: usb: don't fail mctp_usb_rx_queue on a deferred submission
authorJeremy Kerr <jk@codeconstruct.com.au>
Mon, 8 Jun 2026 01:25:41 +0000 (09:25 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 9 Jun 2026 13:23:13 +0000 (15:23 +0200)
In the ndo_open path, a deferred queue open will report a failure, and
so the netdev will not be ndo_stop()ed, leaving us with the rx_retry
work potentially pending.

Don't report a deferred queue as an error, as we are still operational.
This means we use the ndo_stop() path for future cleanup, which handles
rx_retry_work cancellation.

Fixes: 0791c0327a6e ("net: mctp: Add MCTP USB transport driver")
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Link: https://patch.msgid.link/20260608-dev-mctp-usb-rx-requeue-v2-2-29a3aa507609@codeconstruct.com.au
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/mctp/mctp-usb.c

index cf6f6a93a45112233bd38db0c875a4db8c8f77dd..fade65f2f2699502d091ccc6e565addcf856a155 100644 (file)
@@ -154,7 +154,7 @@ err_retry:
        if (!mctp_usb->rx_stopped)
                schedule_delayed_work(&mctp_usb->rx_retry_work, RX_RETRY_DELAY);
        spin_unlock_irqrestore(&mctp_usb->rx_lock, flags);
-       return rc;
+       return 0;
 }
 
 static void mctp_usb_in_complete(struct urb *urb)