projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
163f526
)
ath10k: fix possible ps sleep crash
author
Michal Kazior
<michal.kazior@tieto.com>
Fri, 29 May 2015 05:35:24 +0000
(07:35 +0200)
committer
Kalle Valo
<kvalo@qca.qualcomm.com>
Mon, 1 Jun 2015 07:20:34 +0000
(10:20 +0300)
If probing failed pci sleep timer could remain
running and trigger after ath10k structures were
freed causing invalid pointer dereference:
BUG: unable to handle kernel paging request at
ffffc90001c80004
IP: [<
ffffffff81354728
>] iowrite32+0x38/0x40
...
Call Trace:
<IRQ>
[<
ffffffffa00da048
>] ? __ath10k_pci_sleep+0x48/0x60 [ath10k_pci]
[<
ffffffffa00da44e
>] ath10k_pci_ps_timer+0x5e/0x80 [ath10k_pci]
[<
ffffffff810b210e
>] call_timer_fn+0x3e/0x120
[<
ffffffffa00da3f0
>] ? ath10k_pci_wake+0x150/0x150 [ath10k_pci]
[<
ffffffff810b3d11
>] run_timer_softirq+0x201/0x2e0
[<
ffffffff8105d73f
>] __do_softirq+0xaf/0x290
[<
ffffffff8105da95
>] irq_exit+0x95/0xa0
[<
ffffffff81950406
>] smp_apic_timer_interrupt+0x46/0x60
[<
ffffffff8194e77e
>] apic_timer_interrupt+0x6e/0x80
Fixes:
77258d409ce4
("ath10k: enable pci soc powersaving")
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
patch
|
blob
|
history
diff --git
a/drivers/net/wireless/ath/ath10k/pci.c
b/drivers/net/wireless/ath/ath10k/pci.c
index
1b469da
..
9da36c7
100644
(file)
--- a/
drivers/net/wireless/ath/ath10k/pci.c
+++ b/
drivers/net/wireless/ath/ath10k/pci.c
@@
-2850,6
+2850,7
@@
err_free_pipes:
ath10k_pci_free_pipes(ar);
err_sleep:
+ ath10k_pci_sleep_sync(ar);
ath10k_pci_release(ar);
err_core_destroy: