John Stultz
b630806d7c
wlcore: Fixup "Add support for optional wakeirq"
...
After commit 3c83dd577c ("wlcore: Add support for optional
wakeirq") landed upstream, I started seeing the following oops
on my HiKey board:
[ 1.870279] Unable to handle kernel read from unreadable memory at virtual address 0000000000000010
[ 1.870283] Mem abort info:
[ 1.870287] ESR = 0x96000005
[ 1.870292] Exception class = DABT (current EL), IL = 32 bits
[ 1.870296] SET = 0, FnV = 0
[ 1.870299] EA = 0, S1PTW = 0
[ 1.870302] Data abort info:
[ 1.870306] ISV = 0, ISS = 0x00000005
[ 1.870309] CM = 0, WnR = 0
[ 1.870312] [0000000000000010] user address but active_mm is swapper
[ 1.870318] Internal error: Oops: 96000005 [#1 ] PREEMPT SMP
[ 1.870327] CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 4.19.0-05129-gb3d1e8e #48
[ 1.870331] Hardware name: HiKey Development Board (DT)
[ 1.870350] Workqueue: events_freezable mmc_rescan
[ 1.870358] pstate: 60400005 (nZCv daif +PAN -UAO)
[ 1.870366] pc : wl1271_probe+0x210/0x350
[ 1.870371] lr : wl1271_probe+0x210/0x350
[ 1.870374] sp : ffffff80080739b0
[ 1.870377] x29: ffffff80080739b0 x28: 0000000000000000
[ 1.870384] x27: 0000000000000000 x26: 0000000000000000
[ 1.870391] x25: 0000000000000036 x24: ffffffc074ecb598
[ 1.870398] x23: ffffffc07ffdce78 x22: ffffffc0744ed808
[ 1.870404] x21: ffffffc074ecbb98 x20: ffffff8008ff9000
[ 1.870411] x19: ffffffc0744ed800 x18: ffffff8008ff9a48
[ 1.870418] x17: 0000000000000000 x16: 0000000000000000
[ 1.870425] x15: ffffffc074ecb503 x14: ffffffffffffffff
[ 1.870431] x13: ffffffc074ecb502 x12: 0000000000000030
[ 1.870438] x11: 0101010101010101 x10: 0000000000000040
[ 1.870444] x9 : ffffffc075400248 x8 : ffffffc075400270
[ 1.870451] x7 : 0000000000000000 x6 : 0000000000000000
[ 1.870457] x5 : 0000000000000000 x4 : 0000000000000000
[ 1.870463] x3 : 0000000000000000 x2 : 0000000000000000
[ 1.870469] x1 : 0000000000000028 x0 : 0000000000000000
[ 1.870477] Process kworker/0:0 (pid: 5, stack limit = 0x(____ptrval____))
[ 1.870480] Call trace:
[ 1.870485] wl1271_probe+0x210/0x350
[ 1.870491] sdio_bus_probe+0x100/0x128
[ 1.870500] really_probe+0x1a8/0x2b8
[ 1.870506] driver_probe_device+0x58/0x100
[ 1.870511] __device_attach_driver+0x94/0xd8
[ 1.870517] bus_for_each_drv+0x70/0xc8
[ 1.870522] __device_attach+0xe0/0x140
[ 1.870527] device_initial_probe+0x10/0x18
[ 1.870532] bus_probe_device+0x94/0xa0
[ 1.870537] device_add+0x374/0x5b8
[ 1.870542] sdio_add_func+0x60/0x88
[ 1.870546] mmc_attach_sdio+0x1b0/0x358
[ 1.870551] mmc_rescan+0x2cc/0x390
[ 1.870558] process_one_work+0x12c/0x320
[ 1.870563] worker_thread+0x48/0x458
[ 1.870569] kthread+0xf8/0x128
[ 1.870575] ret_from_fork+0x10/0x18
[ 1.870583] Code: 92400c21 b2760021 a90687a2 97e95bf9 (f9400803)
[ 1.870587] ---[ end trace 1e15f81d3c139ca9 ]---
It seems since we don't have a wakeirq value in the dts, the wakeirq
value in wl1271_probe() is zero, which then causes trouble in
irqd_get_trigger_type(irq_get_irq_data(wakeirq)).
This patch tries to address this by checking if wakeirq is zero,
and not trying to add it to the resources if that is the case.
Fixes: 3c83dd577c ("wlcore: Add support for optional wakeirq")
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: Eyal Reizer <eyalr@ti.com>
Cc: Anders Roxell <anders.roxell@linaro.org>
Cc: linux-wireless@vger.kernel.org
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Tested-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2018-11-06 18:44:36 +02:00
arch
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-11-03 18:25:17 -07:00
block
for-linus-20181102
2018-11-02 11:25:48 -07:00
certs
export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR()
2018-08-22 23:21:44 +09:00
crypto
KEYS: asym_tpm: Add support for the sign operation [ver #2 ]
2018-10-26 09:30:47 +01:00
Documentation
This pull request contains updates for UBIFS:
2018-11-04 14:46:04 -08:00
drivers
wlcore: Fixup "Add support for optional wakeirq"
2018-11-06 18:44:36 +02:00
firmware
fs
This pull request contains updates for UBIFS:
2018-11-04 14:46:04 -08:00
include
NFS client bugfixes for Linux 4.20
2018-11-04 08:20:09 -08:00
init
memblock: stop using implicit alignment to SMP_CACHE_BYTES
2018-10-31 08:54:16 -07:00
ipc
ipc: IPCMNI limit check for semmni
2018-10-31 08:54:14 -07:00
kernel
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-11-03 18:37:09 -07:00
lib
Merge branch 'work.afs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-11-01 19:58:52 -07:00
LICENSES
This is a fairly typical cycle for documentation. There's some welcome
2018-10-24 18:01:11 +01:00
mm
memory_hotplug: cond_resched in __remove_pages
2018-11-03 10:09:38 -07:00
net
NFS client bugfixes for Linux 4.20
2018-11-04 08:20:09 -08:00
samples
VFIO updates for v4.20
2018-10-31 11:01:38 -07:00
scripts
Kbuild updates for v4.20 (2nd)
2018-11-03 10:47:33 -07:00
security
+ Features/Improvements
2018-11-02 10:04:26 -07:00
sound
sound fixes for 4.20-rc1
2018-11-02 11:02:52 -07:00
tools
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-11-03 18:25:17 -07:00
usr
initramfs: move gen_initramfs_list.sh from scripts/ to usr/
2018-08-22 23:21:44 +09:00
virt
Revert "mm, mmu_notifier: annotate mmu notifiers with blockable invalidate callbacks"
2018-10-26 16:25:19 -07:00
.clang-format
page cache: Convert find_get_pages_contig to XArray
2018-10-21 10:46:34 -04:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.mailmap: add Oleksij Rempel
2018-10-31 08:54:12 -07:00
COPYING
CREDITS
9p: remove Ron Minnich from MAINTAINERS
2018-08-17 16:20:26 -07:00
Kbuild
Kconfig
kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt
2018-08-02 08:06:55 +09:00
MAINTAINERS
The Compiler Attributes series
2018-11-01 18:34:46 -07:00
Makefile
Linux 4.20-rc1
2018-11-04 15:37:52 -08:00
README
Drop all 00-INDEX files from Documentation/
2018-09-09 15:08:58 -06:00