ath10k: kill tasklets after free_irq
Commit 5c771e74 introduced a regression. On some systems spurious interrupts could schedule a tasklet while tearing down leading to, e.g.: BUG: unable to handle kernel paging request at fe589030 IP: [<c1316fb0>] ioread32+0x30/0x40 ... Call Trace: [<fe576c1b>] ath10k_pci_tasklet+0x1b/0x60 [ath10k_pci] [<c1053fbe>] tasklet_action+0x9e/0xb0 [<c10534f1>] __do_softirq+0xf1/0x3f0 [<c1053400>] ? ftrace_raw_event_irq_handler_entry+0xa0/0xa0 [<c1004999>] do_softirq_own_stack+0x29/0x40 <IRQ> [<c1053a76>] irq_exit+0x86/0xb0 ... [<c132d522>] do_pci_disable_device+0x52/0x60 [<c132d57f>] pci_disable_device+0x4f/0xb0 [<c132a961>] ? __pci_set_master+0x51/0x80 [<fe5740b3>] ath10k_pci_release+0x33/0x40 [ath10k_pci] [<fe575d4b>] ath10k_pci_remove+0x7b/0x90 [ath10k_pci] Reported-by: Kalle Valo <kvalo@qca.qualcomm.com> Tested-by: Kalle Valo <kvalo@qca.qualcomm.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Showing
Please register or sign in to comment