linux-stable/drivers/net/ethernet/chelsio/cxgb4
Shahjada Abul Husain 015fe6fd29 cxgb4: fix IRQ free race during driver unload
IRQs are requested during driver's ndo_open() and then later
freed up in disable_interrupts() during driver unload.
A race exists where driver can set the CXGB4_FULL_INIT_DONE
flag in ndo_open() after the disable_interrupts() in driver
unload path checks it, and hence misses calling free_irq().

Fix by unregistering netdevice first and sync with driver's
ndo_open(). This ensures disable_interrupts() checks the flag
correctly and frees up the IRQs properly.

Fixes: b37987e8db ("cxgb4: Disable interrupts and napi before unregistering netdev")
Signed-off-by: Shahjada Abul Husain <shahjada@chelsio.com>
Signed-off-by: Raju Rangoju <rajur@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-07-08 13:34:13 -07:00
..
clip_tbl.c cxgb4: clip_tbl: use list_del_init instead of list_del/INIT_LIST_HEAD 2021-05-18 13:43:37 -07:00
clip_tbl.h
cudbg_common.c
cudbg_entity.h
cudbg_if.h
cudbg_lib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
cudbg_lib.h
cudbg_lib_common.h
cudbg_zlib.c
cudbg_zlib.h
cxgb4.h cxgb4: avoid link re-train during TC-MQPRIO configuration 2021-06-04 14:45:13 -07:00
cxgb4_cudbg.c cxgb4: remove unneeded if-null-free check 2021-04-09 16:47:41 -07:00
cxgb4_cudbg.h
cxgb4_dcb.c
cxgb4_dcb.h
cxgb4_debugfs.c
cxgb4_debugfs.h
cxgb4_ethtool.c cxgb4: fix wrong ethtool n-tuple rule lookup 2021-06-14 12:17:57 -07:00
cxgb4_fcoe.c
cxgb4_fcoe.h
cxgb4_filter.c cxgb4: fix wrong shift. 2021-06-18 11:56:33 -07:00
cxgb4_filter.h
cxgb4_main.c cxgb4: fix IRQ free race during driver unload 2021-07-08 13:34:13 -07:00
cxgb4_mps.c
cxgb4_ptp.c net: chelsio: cxgb4: Fix wrong function name in comments 2021-05-17 14:12:38 -07:00
cxgb4_ptp.h
cxgb4_tc_flower.c cxgb4: fix regression with HASH tc prio value update 2021-06-03 15:12:42 -07:00
cxgb4_tc_flower.h
cxgb4_tc_matchall.c flow_offload: reject configuration of packet-per-second policing in offload drivers 2021-03-13 14:18:09 -08:00
cxgb4_tc_matchall.h
cxgb4_tc_mqprio.c cxgb4: avoid link re-train during TC-MQPRIO configuration 2021-06-04 14:45:13 -07:00
cxgb4_tc_mqprio.h
cxgb4_tc_u32.c cxgb4: remove unneeded if-null-free check 2021-04-09 16:47:41 -07:00
cxgb4_tc_u32.h
cxgb4_tc_u32_parse.h
cxgb4_thermal.c
cxgb4_uld.c cxgb4: fix IRQ free race during driver unload 2021-07-08 13:34:13 -07:00
cxgb4_uld.h
l2t.c
l2t.h
Makefile
sched.c
sched.h
sge.c cxgb4: avoid link re-train during TC-MQPRIO configuration 2021-06-04 14:45:13 -07:00
smt.c
smt.h
srq.c
srq.h
t4_chip_type.h
t4_hw.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-06-18 19:47:02 -07:00
t4_hw.h
t4_msg.h
t4_pci_id_tbl.h
t4_regs.h
t4_tcb.h
t4_values.h
t4fw_api.h
t4fw_version.h