]> git.baikalelectronics.ru Git - kernel.git/commit
ath10k: kill tasklets after free_irq
authorMichal Kazior <michal.kazior@tieto.com>
Thu, 28 Aug 2014 08:24:40 +0000 (10:24 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 2 Sep 2014 07:18:36 +0000 (10:18 +0300)
commitf0ddacb7e6883765f86212e8c3e587897d99a125
tree630bb28c3c3f261b5afa82aaed6e7602b3d685a3
parent4deae2dc9886efe04d337a782b30fbcdfc6d98af
ath10k: kill tasklets after free_irq

Commit 16f6b0a870c42dd7aef2d3489b4ac9d6b5f74342
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>
drivers/net/wireless/ath/ath10k/pci.c