2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-08 21:53:54 +08:00
linux-next/drivers/net/ethernet/broadcom/bnx2x
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_cmn.c bnx2x: Fix busy_poll vs netpoll 2015-04-15 17:25:02 -04:00
bnx2x_cmn.h bnx2x: New multi-function mode: UFP 2014-09-19 16:31:08 -04:00
bnx2x_dcb.c bnx2x: Code cleanup 2014-08-22 12:31:15 -07:00
bnx2x_dcb.h bnx2x: update MAINTAINERS for bnx2x and e-mail addresses 2014-05-30 17:04:26 -07:00
bnx2x_dump.h bnx2x: ethtool -d might cause timeout in log 2014-08-25 17:30:21 -07:00
bnx2x_ethtool.c ethernet: Use eth_<foo>_addr instead of memset 2015-03-03 17:01:36 -05:00
bnx2x_fw_defs.h bnx2x: Utilize FW 7.10.51 2014-08-22 12:31:15 -07:00
bnx2x_fw_file_hdr.h bnx2x: update MAINTAINERS for bnx2x and e-mail addresses 2014-05-30 17:04:26 -07:00
bnx2x_hsi.h bnx2x: Count number of link changes 2015-03-31 13:34:10 -04:00
bnx2x_init_ops.h bnx2x: update MAINTAINERS for bnx2x and e-mail addresses 2014-05-30 17:04:26 -07:00
bnx2x_init.h ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
bnx2x_link.c bnx2x: Count number of link changes 2015-03-31 13:34:10 -04:00
bnx2x_link.h bnx2x: Fix link problems for 1G SFP RJ45 module 2014-09-05 17:28:37 -07:00
bnx2x_main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-02 16:16:53 -04:00
bnx2x_mfw_req.h bnx2x: Introduce 2013 and advance version to 1.78.02 2013-01-15 15:07:59 -05:00
bnx2x_reg.h bnx2x: Configure IFir et al. according to nvram 2015-03-31 13:34:10 -04:00
bnx2x_sp.c bnx2x: Use correct fastpath version for VFs. 2014-12-09 14:29:10 -05:00
bnx2x_sp.h bnx2x: Use correct fastpath version for VFs. 2014-12-09 14:29:10 -05:00
bnx2x_sriov.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2015-04-15 09:00:47 -07:00
bnx2x_sriov.h bnx2x: Use correct fastpath version for VFs. 2014-12-09 14:29:10 -05:00
bnx2x_stats.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-02 16:16:53 -04:00
bnx2x_stats.h bnx2x: Fix statistics locking scheme 2015-03-23 22:38:24 -04:00
bnx2x_vfpf.c ethernet: codespell comment spelling fixes 2015-03-08 22:54:22 -04:00
bnx2x_vfpf.h bnx2x: Use correct fastpath version for VFs. 2014-12-09 14:29:10 -05:00
bnx2x.h bnx2x: Fix busy_poll vs netpoll 2015-04-15 17:25:02 -04:00
Makefile bnx2x: Segregate SR-IOV code 2013-01-07 19:49:14 -08:00