Re: [PATCH] net: usb: Remove disruptive netif_wake_queue in rtl8150_set_multicast

From: Andrew Lunn

Date: Sat Sep 20 2025 - 11:31:05 EST


On Sat, Sep 20, 2025 at 10:20:59AM +0530, I Viswanath wrote:
> syzbot reported WARNING in rtl8150_start_xmit/usb_submit_urb.
> This is a possible sequence of events:
>
> CPU0 (in rtl8150_start_xmit) CPU1 (in rtl8150_start_xmit) CPU2 (in rtl8150_set_multicast)
> netif_stop_queue();
> netif_stop_queue();
> usb_submit_urb();
> netif_wake_queue(); <-- Wakes up TX queue before it's ready
> netif_stop_queue();
> usb_submit_urb(); <-- Warning
> freeing urb
>
> Remove netif_wake_queue and corresponding netif_stop_queue in rtl8150_set_multicast to
> prevent this sequence of events

Please expand this sentence with an explanation of why this is
safe. Why are these two calls not needed? The original author of this
code thought they where needed, so you need to explain why they are
not needed.

Andrew

---
pw-bot: cr