linux_dsm_epyc7002/drivers/net/ethernet/broadcom
Eric Dumazet 074975d037 bnx2x: Fix busy_poll vs netpoll
Commit 9a2620c877 ("bnx2x: prevent WARN during driver unload")
switched the napi/busy_lock locking mechanism from spin_lock() into
spin_lock_bh(), breaking inter-operability with netconsole, as netpoll
disables interrupts prior to calling our napi mechanism.

This switches the driver into using atomic assignments instead of the
spinlock mechanisms previously employed.

Based on initial patch from Yuval Mintz & Ariel Elior

I basically added softirq starvation avoidance, and mixture
of atomic operations, plain writes and barriers.

Note this slightly reduces the overhead for this driver when no
busy_poll sockets are in use.

Fixes: 9a2620c877 ("bnx2x: prevent WARN during driver unload")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-04-15 17:25:02 -04:00
..
bnx2x bnx2x: Fix busy_poll vs netpoll 2015-04-15 17:25:02 -04:00
genet net: bcmgenet: enable MoCA link state change detection 2015-04-01 13:40:18 -04:00
b44.c treewide: Remove unnecessary SSB_DEVTABLE_END macro 2015-02-11 14:38:29 -08:00
b44.h
bcm63xx_enet.c bcm63xx_enet: fix poll callback. 2015-03-04 15:44:52 -05:00
bcm63xx_enet.h
bcmsysport.c net: systemport: fix software maintained statistics 2015-03-01 14:02:11 -05:00
bcmsysport.h net: systemport: fix software maintained statistics 2015-03-01 14:02:11 -05:00
bgmac.c bgmac: drop ring->num_slots 2015-04-14 14:57:11 -04:00
bgmac.h bgmac: drop ring->num_slots 2015-04-14 14:57:11 -04:00
bnx2_fw.h bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
bnx2.c bnx2: disable toggling of rxvlan if necessary 2015-03-01 23:25:51 -05:00
bnx2.h bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
cnic_defs.h
cnic_if.h bnx2-cnic: Driver Version Update 2015-02-20 15:46:49 -05:00
cnic.c bnx2-cnic: Driver Rebranding Changes 2015-02-20 15:46:49 -05:00
cnic.h
Kconfig bgmac: allow enabling on ARCH_BCM_5301X 2015-03-20 21:44:56 -04:00
Makefile
sb1250-mac.c
tg3.c ptp: tg3: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
tg3.h