linux/drivers/net/ethernet/natsemi
Finn Thain 865ad2f220 net/sonic: Add mutual exclusion for accessing shared state
The netif_stop_queue() call in sonic_send_packet() races with the
netif_wake_queue() call in sonic_interrupt(). This causes issues
like "NETDEV WATCHDOG: eth0 (macsonic): transmit queue 0 timed out".
Fix this by disabling interrupts when accessing tx_skb[] and next_tx.
Update a comment to clarify the synchronization properties.

Fixes: efcce83936 ("[PATCH] macsonic/jazzsonic network drivers update")
Tested-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-01-23 21:24:36 +01:00
..
jazzsonic.c net/sonic: Replace custom debug logging with netif_* calls 2018-02-26 14:40:02 -05:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
macsonic.c net/sonic: Replace custom debug logging with netif_* calls 2018-02-26 14:40:02 -05:00
Makefile ethernet: natsemi: correct spelling 2018-03-06 11:14:08 -05:00
natsemi.c net: natsemi: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
ns83820.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
sonic.c net/sonic: Add mutual exclusion for accessing shared state 2020-01-23 21:24:36 +01:00
sonic.h net/sonic: Add mutual exclusion for accessing shared state 2020-01-23 21:24:36 +01:00
xtsonic.c net/sonic: Replace custom debug logging with netif_* calls 2018-02-26 14:40:02 -05:00