diff options
author | Shahjada Abul Husain <shahjada@chelsio.com> | 2021-07-08 21:51:56 +0530 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-07-08 13:34:13 -0700 |
commit | 015fe6fd29c4b9ac0f61b8c4455ef88e6018b9cc (patch) | |
tree | 9351dd6b312f32133b19299939d989e15da50585 /drivers/spi/spi-pxa2xx.c | |
parent | c34269041185dad1bab7a34f42ef9fab967a1684 (diff) | |
download | linux-stable-015fe6fd29c4b9ac0f61b8c4455ef88e6018b9cc.tar.gz linux-stable-015fe6fd29c4b9ac0f61b8c4455ef88e6018b9cc.tar.bz2 linux-stable-015fe6fd29c4b9ac0f61b8c4455ef88e6018b9cc.zip |
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: b37987e8db5f ("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>
Diffstat (limited to 'drivers/spi/spi-pxa2xx.c')
0 files changed, 0 insertions, 0 deletions