forked from Minki/linux
c30e76a728
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> |
||
---|---|---|
.. | ||
xgbe | ||
7990.c | ||
7990.h | ||
a2065.c | ||
a2065.h | ||
am79c961a.c | ||
am79c961a.h | ||
amd8111e.c | ||
amd8111e.h | ||
ariadne.c | ||
ariadne.h | ||
atarilance.c | ||
au1000_eth.c | ||
au1000_eth.h | ||
declance.c | ||
hplance.c | ||
hplance.h | ||
Kconfig | ||
lance.c | ||
Makefile | ||
mvme147.c | ||
ni65.c | ||
ni65.h | ||
nmclan_cs.c | ||
pcnet32.c | ||
sun3lance.c | ||
sunlance.c |