[PATCH] USB: Fix pegasus_set_multicast lockup in drivers/usb/net/pegasus.c
I strongly recommend that this patch be applied.
Without this patch, running tcpdump on an SMP machine with the
pegasus adapter locks up 9 times out of 10. This is what happens:
CPU0 CPU1
pegasus_start_xmit
netif_stop_queue
pegasus_set_multicast
netif_stop_queue
netif_wake_queue
Which crashes if another packet is sent to pegasus_start_xmit before
the first one is finished.
If there are other drivers doing this, please fix them too.
PS I submitted this to Petkan years ago but he probably lost it.
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Showing
Please register or sign in to comment