Amitkumar Karwar
a7488c792f
mwifiex: fix spinlock bad magic bug
...
[ 6630.450908] BUG: spinlock bad magic on CPU#1,
ksdioirqd/mmc1/355
[ 6630.450914] Unable to handle kernel NULL pointer dereference
at virtual address 0000004f
[ 6630.450919] pgd = ecbd8000
[ 6630.450926] [0000004f] *pgd=00000000
[ 6630.450936] lock: 0xeea4ab08, .magic: 00000000,
.owner: <none>/-1, .owner_cpu: 0
[ 6630.450939] Backtrace:
[ 6630.450956] [<c010d354>] (unwind_backtrace+0x0/0x118) from
[<c060c238>] (dump_stack+0x28/0x30)
[ 6630.450960] Internal error: Oops: 5 [#1 ] SMP ARM
[ 6630.450964] Modules linked in: uvcvideo videobuf2_vmalloc
[ 6630.450980] [<c060c238>] (dump_stack+0x28/0x30) from
[<c0315ab4>] (spin_dump+0x80/0x94)
[ 6630.450988] [<c0315ab4>] (spin_dump+0x80/0x94) from
[<c0315af4>] (spin_bug+0x2c/0x30)
[ 6630.450996] [<c0315af4>] (spin_bug+0x2c/0x30) from
[<c0315b80>] (do_raw_spin_lock+0x28/0x15c)
[ 6630.451004] [<c0315b80>] (do_raw_spin_lock+0x28/0x15c) from
[<c0610c24>] (_raw_spin_lock_irqsave+0x20/0x28)
[ 6630.451016] [<c0610c24>] (_raw_spin_lock_irqsave+0x20/0x28)
from [<bf07a7f4>] (mwifiex_exec_next_cmd
+0x6c/0x45c [mwifiex])
[ 6630.451030] [<bf07a7f4>] (mwifiex_exec_next_cmd+0x6c/0x45c
[mwifiex]) from [<bf07834c>]
(mwifiex_main_process+0x2c8/0x464 [mwifiex])
[ 6630.451047] [<bf07834c>] (mwifiex_main_process+0x2c8/0x464
[mwifiex]) from [<bf0a093c>]
(mwifiex_sdio_interrupt+0xc8/0x1cc [mwifiex_sdio]
[ 6630.451064] [<bf0a093c>] (mwifiex_sdio_interrupt+0xc8/0x1cc
[mwifiex_sdio]) from [<c04bbde0>]
(sdio_irq_thread+0x178/0x31c)
[ 6630.451079] [<c04bbde0>] (sdio_irq_thread+0x178/0x31c) from
[<c0145514>] (kthread+0xc8/0xd8)
[ 6630.451095] [<c0145514>] (kthread+0xc8/0xd8) from
[<c0106118>] (ret_from_fork+0x14/0x20)
This bug has introduced/exposed due to recent patch in which we
cancel pending commands before suspend (using hs_enabling flag).
The NULL pointer is dereferenced when both
mwifiex_cancel_all_pending_cmd() and mwifiex_exec_next_cmd()
try to access cmd pending queue simultaneously.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-03-31 13:47:41 -04:00
..
2014-02-06 23:08:54 +01:00
2014-01-24 15:51:02 -08:00
2014-01-25 13:18:00 -08:00
2014-03-27 14:20:04 -04:00
2014-02-05 16:01:11 -08:00
2014-03-23 10:30:22 -07:00
2014-01-31 15:15:13 -08:00
2014-01-30 11:40:10 -08:00
2014-02-09 15:21:16 -05:00
2014-01-28 18:44:53 -08:00
2014-01-31 21:04:01 -08:00
2014-02-04 21:41:15 +01:00
2014-01-29 17:02:24 +11:00
2014-01-23 18:49:36 -08:00
2014-01-29 11:48:23 +01:00
2014-01-29 20:27:23 -08:00
2014-01-20 12:10:27 -08:00
2014-01-17 14:57:29 -07:00
2014-01-09 09:53:30 +09:00
2014-01-20 01:11:13 +01:00
2014-01-27 21:02:40 -08:00
2014-01-23 18:49:36 -08:00
2014-02-06 12:13:52 +10:00
2014-01-31 09:31:14 -08:00
2014-01-27 16:40:45 -08:00
2014-02-06 17:22:33 -08:00
2014-01-29 19:56:20 -08:00
2014-01-28 23:35:09 -08:00
2014-01-24 15:51:02 -08:00
2014-01-22 21:21:55 -08:00
2014-01-31 15:31:23 -08:00
2014-01-24 17:17:30 -08:00
2014-01-29 20:00:13 -08:00
2014-02-05 16:02:53 -08:00
2014-01-25 11:17:34 -08:00
2014-01-28 18:53:01 -08:00
2014-01-27 21:11:26 -08:00
2014-01-23 16:36:53 -08:00
2014-01-30 11:40:10 -08:00
2014-02-04 06:46:10 -02:00
2014-01-23 16:37:04 -08:00
2014-01-30 11:19:05 -08:00
2014-01-25 13:19:10 -08:00
2014-01-29 18:56:27 -08:00
2014-01-26 11:00:41 -08:00
2014-01-30 20:04:09 -08:00
2014-03-31 13:47:41 -04:00
2014-03-11 00:47:09 +01:00
2014-01-25 11:17:34 -08:00
2014-01-20 16:05:23 -08:00
2014-02-03 22:30:15 +01:00
2014-01-22 16:39:28 -08:00
2014-01-25 11:17:34 -08:00
2014-02-06 14:21:19 +01:00
2014-01-29 20:06:01 -08:00
2014-01-12 23:48:18 +01:00
2014-01-25 11:17:34 -08:00
2014-01-15 14:51:22 -08:00
2014-01-27 08:15:51 -08:00
2014-02-04 12:58:19 +00:00
2014-01-23 19:11:50 -08:00
2014-01-31 08:37:32 -08:00
2014-01-28 23:38:23 -08:00
2014-01-31 15:31:23 -08:00
2014-01-29 16:53:55 +11:00
2014-01-30 17:20:32 -08:00
2014-03-13 14:05:39 -04:00
2014-01-31 15:31:23 -08:00
2014-01-24 17:13:49 -08:00
2014-01-30 17:20:32 -08:00
2014-01-29 16:53:55 +11:00
2014-01-27 21:11:26 -08:00
2014-01-31 15:31:23 -08:00
2014-02-02 20:56:47 +01:00
2014-01-22 22:24:35 -08:00
2014-01-23 16:36:55 -08:00
2014-01-23 16:37:04 -08:00
2014-02-08 09:47:11 +01:00
2014-02-05 16:01:11 -08:00