1
0
Fork 0
alistair23-linux/drivers/net/ethernet/amd
Sebastian Andrzej Siewior ced57064a0 amd-xgbe: Use __napi_schedule() in BH context
[ Upstream commit d518691cbd ]

The driver uses __napi_schedule_irqoff() which is fine as long as it is
invoked with disabled interrupts by everybody. Since the commit
mentioned below the driver may invoke xgbe_isr_task() in tasklet/softirq
context. This may lead to list corruption if another driver uses
__napi_schedule_irqoff() in IRQ context.

Use __napi_schedule() which safe to use from IRQ and softirq context.

Fixes: 85b85c8534 ("amd-xgbe: Re-issue interrupt if interrupt status not cleared")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-21 09:04:43 +02:00
..
xgbe amd-xgbe: Use __napi_schedule() in BH context 2020-04-21 09:04:43 +02:00
7990.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
7990.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig net: amd: Spelling s/case/cause/ 2019-08-01 13:45:48 -04:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
a2065.c drivers/net: amd: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
a2065.h
am79c961a.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
am79c961a.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
amd8111e.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
amd8111e.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
ariadne.c net: amd: constify zorro_device_id 2017-08-22 14:35:36 -07:00
ariadne.h
atarilance.c net: amd: fix return type of ndo_start_xmit function 2018-09-19 21:17:58 -07:00
au1000_eth.c net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
au1000_eth.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 400 2019-06-05 17:37:13 +02:00
declance.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
hplance.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
hplance.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
lance.c net: amd: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles 2019-02-14 11:56:36 -05:00
mvme147.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
ni65.c ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
ni65.h
nmclan_cs.c net: nmlan_cs: Use net_device_stats from struct net_device 2017-04-07 07:03:33 -07:00
pcnet32.c net: amd: pcnet32: Replace GFP_ATOMIC with GFP_KERNEL in pcnet32_alloc_ring() 2018-07-27 13:45:14 -07:00
sun3lance.c net: amd: fix return type of ndo_start_xmit function 2018-09-19 21:17:58 -07:00
sunlance.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00