linux/drivers/net/ethernet
Jakub Kicinski fc2336505f nfp: always unmask aux interrupts at init
The link state and exception interrupts may be masked when we probe.
The firmware should in theory prevent sending (and automasking) those
interrupts if the device is disabled, but if my reading of the FW code
is correct there are firmwares out there with race conditions in this
area.  The interrupt may also be masked if previous driver which used
the device was malfunctioning and we didn't load the FW (there is no
other good way to comprehensively reset the PF).

Note that FW unmasks the data interrupts by itself when vNIC is
enabled, such helpful operation is not performed for LSC/EXN interrupts.

Always unmask the auxiliary interrupts after request_irq().  On the
remove path add missing PCI write flush before free_irq().

Fixes: 4c3523623d ("net: add driver for Netronome NFP4000/NFP6000 NIC VFs")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-01-10 15:50:04 -05:00
..
3com 3c59x: fix missing dma_mapping_error check and bad ring refill logic 2018-01-03 13:44:14 -05:00
8390 net: 8390: pcnet_cs: mark expected switch fall-through 2017-11-11 19:10:06 +09:00
adaptec
adi treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
aeroflex License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
agere treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
alacritech Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
allwinner
alteon License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
altera
amazon net: ena: fix error handling in ena_down() sequence 2018-01-03 12:21:00 -05:00
amd Merge branch 'akpm' (patches from Andrew) 2017-11-15 19:42:40 -08:00
apm
apple net: ethernet: apple: Convert timers to use timer_setup() 2017-10-18 12:40:25 +01:00
aquantia net: aquantia: Increment driver version 2017-12-15 12:46:42 -05:00
arc net: arc_emac: restart stalled EMAC 2017-12-19 13:25:52 -05:00
atheros treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
aurora License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
broadcom bnxt_en: Fix the 'Invalid VF' id check in bnxt_vf_ndo_prep routine. 2018-01-08 14:13:45 -05:00
brocade bna: Convert timers to use timer_setup() 2017-10-18 12:39:38 +01:00
cadence net: macb: add of_node_put to error paths 2017-11-11 15:27:44 +09:00
calxeda
cavium net: thunderx: Fix TCP/UDP checksum offload for IPv4 pkts 2017-12-06 14:43:31 -05:00
chelsio cxgb4: Fix FW flash errors 2018-01-03 12:19:50 -05:00
cirrus
cisco treewide: setup_timer() -> timer_setup() (2 field) 2017-11-21 15:57:09 -08:00
davicom License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dec Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
dlink net: dl2k: remove redundant re-assignment to np 2017-11-02 15:52:19 +09:00
emulex locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE() 2017-10-25 11:01:08 +02:00
ezchip
faraday net: faraday: ftmac100: Use BUG_ON instead of if condition followed by BUG. 2017-10-27 23:53:14 +09:00
freescale net: gianfar_ptp: move set_fipers() to spinlock protecting area 2018-01-10 14:54:13 -05:00
fujitsu
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-11-15 11:56:19 -08:00
hp
huawei
i825xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ibm ibmvnic: fix dma_mapping_error call 2017-11-18 10:37:00 +09:00
intel Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue 2018-01-03 13:49:24 -05:00
marvell net: mvneta: eliminate wrong call to handle rx descriptor error 2017-12-20 12:24:12 -05:00
mediatek net: mediatek: setup proper state for disabled GMAC on the default 2017-12-19 13:18:31 -05:00
mellanox mlxsw: spectrum: Relax sanity checks during enslavement 2018-01-02 12:38:26 -05:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
microchip License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
moxa
myricom treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
natsemi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
neterion net: vxge: Fix some indentation issues 2017-11-20 11:36:30 +09:00
netronome nfp: always unmask aux interrupts at init 2018-01-10 15:50:04 -05:00
nuvoton drivers/net: nuvoton: Convert timers to use timer_setup() 2017-10-27 12:09:15 +09:00
nvidia forcedeth: replace pci_unmap_page with dma_unmap_page 2017-11-25 05:08:53 +09:00
nxp
oki-semi treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
packetengines drivers/net: packetengines: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
pasemi treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
qlogic treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
qualcomm net: qcom/emac: Change the order of mac up and sgmii open 2017-12-18 13:20:41 -05:00
rdc
realtek net: realtek: r8169: implement set_link_ksettings() 2017-11-24 01:36:31 +09:00
renesas sh_eth: fix TXALCR1 offsets 2018-01-08 14:31:38 -05:00
rocker treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
samsung drivers/net: sxgbe: Convert timers to use timer_setup() 2017-10-27 12:09:16 +09:00
seeq Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
sfc sfc: pass valid pointers from efx_enqueue_unwind 2017-12-08 13:25:39 -05:00
sgi net/ethernet/sgi: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
silan
sis Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
stmicro net: stmmac: enable EEE in MII, GMII or RGMII only 2018-01-04 14:02:01 -05:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-11-15 11:56:19 -08:00
synopsys treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
tehuti
ti treewide: Remove TIMER_FUNC_TYPE and TIMER_DATA_TYPE casts 2017-11-21 16:35:54 -08:00
tile Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-11-13 17:56:58 -08:00
toshiba treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
tundra drivers/net: tundra: Convert timers to use timer_setup() 2017-11-01 12:38:45 +09:00
via net: via: via-rhine: use %p to format void * address instead of %x 2017-11-29 09:45:24 -05:00
wiznet
xilinx net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit 2017-11-29 09:43:24 -05:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c fealnx: Fix building error on MIPS 2017-11-16 22:58:12 +09:00
jme.c
jme.h
Kconfig
korina.c drivers/net: korina: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
lantiq_etop.c
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
netx-eth.c