linux_dsm_epyc7002/drivers/net/ethernet
Lendacky, Thomas c30e76a728 amd-xgbe: Request IRQs only after driver is fully setup
It is possible that the hardware may not have been properly shutdown
before this driver gets control, through use by firmware, for example.
Until the driver is loaded, interrupts associated with the hardware
could go pending. When the IRQs are requested napi support has not
been initialized yet, but the ISR will get control and schedule napi
processing resulting in a kernel panic because the poll routine has not
been set.

Adjust the code so that the driver is fully ready to handle and process
interrupts as soon as the IRQs are requested. This involves requesting
and freeing IRQs during start and stop processing and ordering the napi
add and delete calls appropriately.

Also adjust the powerup and powerdown routines to match the start and
stop routines in regards to the ordering of tasks, including napi
related calls.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-02-27 17:13:02 -05:00
..
3com drivers/net: Use setup_timer and mod_timer 2015-02-11 19:40:12 -08:00
8390 ne2k-pci: Add pci_disable_device in error handling 2014-12-27 02:20:55 -05:00
adaptec
adi
aeroflex
agere et131x: use msecs_to_jiffies for conversions 2015-02-11 19:37:43 -08:00
allwinner net: sun4i-emac: fix error return code 2014-12-31 19:19:00 -05:00
alteon net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
altera altera_tse: Fixes in NAPI and interrupt handling paths 2015-02-23 18:07:36 -05:00
amd amd-xgbe: Request IRQs only after driver is fully setup 2015-02-27 17:13:02 -05:00
apm drivers: net: xgene: Make xgene_enet_of_match depend on CONFIG_OF 2015-02-11 19:39:08 -08:00
apple
arc
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-15 00:53:17 -05:00
broadcom tg3: Hold tp->lock before calling tg3_halt() from tg3_init_one() 2015-02-11 19:51:08 -08:00
brocade net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
cadence net/macb: fix sparse warning 2015-02-05 16:03:28 -08:00
calxeda
chelsio cxgb4: Fix PCI-E Memory window interface for big-endian systems 2015-02-27 15:53:43 -05:00
cirrus Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-05 14:33:28 -08:00
cisco enic: do notify_check before returning credits 2015-02-27 15:53:43 -05:00
davicom dm9000: Add regulator and reset support to dm9000 2015-01-15 14:08:07 -05:00
dec net/tulip: don't warn about unknown ARM architecture 2015-02-02 18:53:34 -08:00
dlink
emulex MODULE_DEVICE_TABLE: fix some callsites 2015-02-13 21:21:40 -08:00
faraday
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-05 14:33:28 -08:00
fujitsu
hisilicon net: hip04: add missing MODULE_LICENSE 2015-02-02 18:51:03 -08:00
hp hp100: fix misspelling of current function in string 2014-12-09 16:18:47 -05:00
i825xx
ibm ehea: Register memory hotplug, reboot and crash hooks on adapter probe 2015-02-19 16:04:33 -05:00
icplus
intel i40e: Fix for stats init function call in Rx setup 2015-02-09 18:45:00 -08:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
mellanox net/mlx5_core: Fix configuration of log_uar_page_sz 2015-02-11 19:42:23 -08:00
micrel ksz884x: Use setup_timer 2014-12-30 18:34:23 -05:00
microchip
moxa
myricom myri10ge: Delete an unnecessary check before the function call "kfree" 2015-02-05 00:25:10 -08:00
natsemi net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
neterion vxge: fix sparse warning 2015-02-05 16:07:06 -08:00
nuvoton
nvidia net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
nxp
octeon
oki-semi
packetengines
pasemi net-PA Semi: Deletion of unnecessary checks before the function call "pci_dev_put" 2014-12-05 21:14:20 -08:00
qlogic qlcnic: Delete existing multicast MAC list before adding new 2015-02-11 19:43:22 -08:00
qualcomm net: qualcomm: Fix dependency 2014-11-11 18:12:32 -05:00
rdc
realtek r8169: Fix trivial typo in rtl_check_firmware 2015-02-24 16:26:07 -05:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
rocker rocker: silence shift wrapping warning 2015-02-27 15:53:44 -05:00
samsung Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-09 14:35:57 -08:00
seeq
sfc ethtool: Support for configurable RSS hash function 2014-12-08 21:07:10 -05:00
sgi
silan
sis
smsc net: smc91x: improve neponset hack 2015-02-20 16:23:27 -05:00
stmicro stmmac: DMA threshold mode or SF mode can be different among multiple device instance 2015-02-01 23:14:24 -08:00
sun sunvnet: don't change gso data on clones 2015-02-11 19:41:40 -08:00
tehuti net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
ti net: ethernet: ti/cpsw-common.c: fix sparse warning 2015-02-05 00:27:49 -08:00
tile tile: use %*pb[l] to print bitmaps including cpumasks and nodemasks 2015-02-13 21:21:37 -08:00
toshiba
tundra
via mii: Handle link state changes for forced modes in mii_check_media() 2015-01-19 15:43:42 -05:00
wiznet Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
xilinx net: axienet: fix error return code 2014-12-31 19:19:00 -05:00
xircom
xscale ethernet/ixp4xx: prevent allmulti from clobbering promisc 2015-02-20 15:49:07 -05:00
dnet.c net: dnet: fix dnet_poll() 2015-01-11 21:44:55 -05:00
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
jme.h
Kconfig net: s6gmac: remove driver 2014-12-22 16:29:03 -05:00
korina.c
lantiq_etop.c
Makefile net: s6gmac: remove driver 2014-12-22 16:29:03 -05:00
netx-eth.c