Skip to content

Commit

Permalink
MLK-12462-2 dts: imx: add pm-ignore-notify for WiFi card
Browse files Browse the repository at this point in the history
MMC core pm_notify will re-detect card after system suspend/resume,
regardless of post-cd claim.
Since in current MMC implement, non-removeable card only detects once,
this will break post card detect which happens next.
e.g. when we suspend/resume system first, then load Broadcom wifi module,
we will get below dump:

root@imx6qdlsolo:/mnt/nfs/vte_IMX6QP-Sabre-SD# modprobe bcmdhd firmware_path=/lib/firmware/bcm/ZP_BCM4339/fw_bcmdhd.bin nvram_path=/lib/firmware/bcm/ZP_BCM4339/bcmdhd.ZP.SDIO.cal
dhd_module_init in
Power-up adapter 'DHD generic adapter'
wifi_platform_bus_enumerate device present 1
failed to power up DHD generic adapter, 3 retry left
wifi_platform_bus_enumerate device present 0
-----------[ cut here ]-----------
Kernel BUG at 80513170 [verbose debug info unavailable]
Internal error: Oops - BUG: 0 1 PREEMPT SMP ARM
Modules linked in: bcmdhd ov5642_camera ov5640_camera_mipi_int ov5640_camera_int mxc_v4l2_capture mxc_dcic ipu_bg_overlay_sdc ipu_still v4l2_int_device ipu_prp_enc ipu_csi_enc ipu_fg_overlay_sdc
CPU: 1 PID: 1487 Comm: modprobe Not tainted 4.1.15-1.0.0+g54cf6a2 #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
task: a881e3c0 ti: a9152000 task.ti: a9152000
PC is at mmc_sdio_remove+0x7c/0x80
LR is at mmc_sdio_force_remove+0xc/0x34
pc : [<80513170>] lr : [<80513180>] psr: 60030013
sp : a9153d28 ip : 00000000 fp : 00000000
r10: 00000000 r9 : 00000000 r8 : 7f0f76e0
r7 : a9153d58 r6 : 00000000 r5 : 00000000 r4 : a83f1800
r3 : 00000000 r2 : 00000000 r1 : 809c02f4 r0 : a83f1800
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: 38d7804a DAC: 00000015
Process modprobe (pid: 1487, stack limit = 0xa9152210)
Stack: (0xa9153d28 to 0xa9154000)
3d20: 00000000 7f0c569c a9ffe440 00000003 00000000 7f0c58f4
3d40: a81942c0 8032e33c a8195960 7f0fbf68 00020002 00000000 a9153d58 a9153d58
3d60: fffffdfb 80bc0db4 a81af810 7f0f9518 fffffdfb 00000008 00000000 5624ce5c
3d80: 00000124 80381140 80bc0db4 a81af810 7f0f9518 00000000 00000008 8037f9dc
3da0: a81af810 7f0f9518 a81af844 80b288b0 00000000 8037fbec 00000000 7f0f9518
3dc0: 8037fb60 8037e068 a8025c5c a818fa34 7f0f9518 a20ff280 00000000 8037f16c
3de0: 7f0f0330 a9ffe440 00000000 7f0f9518 a9ffe440 00000000 80bb18f4 803801ec
3e00: 7f0fbf68 a9ffe440 00000000 7f0c5fdc 80b01720 80b01720 a9ffe440 7f11f000
3e20: 00000000 00000001 5624ce5c 80009730 abc7b120 800e316c 000000c8 a9209a00
3e40: 8040003f 00000001 00010000 800b0dfc 000000c8 8040003f abc7dc60 80afc2b0
3e60: abc75880 80afc260 a8001f00 80afe6c0 00000124 800e4944 7f0f9718 00000001
3e80: 7f0f9718 00000001 a9ffeb0 7f0f9718 a9db31c0 8078e47c 7f0f9718 a9db31c0
3ea0: a9153f58 00000001 a9db31c8 80094094 7f0f9724 00007fff 800910d4 00000000
3ec0: 00000000 7f0f9760 00000000 7f0f9860 c0fce8f4 7f0f9724 00000000 8079aa0c
3ee0: c0f07000 000c7944 00b6817a 00000000 0000000e 00000000 00000000 00000000
3f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3f20: 00000000 00000000 00000000 00000000 00000640 00000000 00000003 01608348
3f40: 0000017b 8000f604 a9152000 00000000 01608270 800944f8 c0f07000 000c7944
3f60: c0fce28 c0f8343 c0f99248 0007aff8 0008f968 00000000 00000000 00000000
3f80: 00000029 0000002a 00000020 00000024 00000015 00000000 01608348 00000073
3fa0: 00000000 8000f480 01608348 00000073 00000003 01608348 00000000 00000000
3fc0: 01608348 00000073 00000000 0000017b 01608218 00000000 00000073 01608270
3fe0: 7e9ab8c0 7e9ab8b0 0001f2c0 76eac340 600d0010 00000003 00000000 00000000
[<80513170>] (mmc_sdio_remove) from [<7f0c58f4>] (dhd_wifi_platform_load+0x180/0x39c [bcmdhd])
[<7f0c58f4>] (dhd_wifi_platform_load [bcmdhd]) from [<80381140>] (platform_drv_probe+0x44/0xac)
[<80381140>] (platform_drv_probe) from [<8037f9dc>] (driver_probe_device+0x174/0x2b4)
[<8037f9dc>] (driver_probe_device) from [<8037fbec>] (__driver_attach+0x8c/0x90)
[<8037fbec>] (__driver_attach) from [<8037e068>] (bus_for_each_dev+0x68/0x9c)
[<8037e068>] (bus_for_each_dev) from [<8037f16c>] (bus_add_driver+0x148/0x1f0)
[<8037f16c>] (bus_add_driver) from [<803801ec>] (driver_register+0x78/0xf8)
[<803801ec>] (driver_register) from [<7f0c5fdc>] (dhd_wifi_platform_register_drv+0x1bc/0x208 [bcmdhd])
[<7f0c5fdc>] (dhd_wifi_platform_register_drv [bcmdhd]) from [<80009730>] (do_one_initcall+0x8c/0x1d4)
[<80009730>] (do_one_initcall) from [<8078e47c>] (do_init_module+0x5c/0x1a8)
[<8078e47c>] (do_init_module) from [<80094094>] (load_module+0x1ba8/0x1e50)
[<80094094>] (load_module) from [<800944f8>] (SyS_finit_module+0x80/0x90)
[<800944f8>] (SyS_finit_module) from [<8000f480>] (ret_fast_syscall+0x0/0x3c)

Signed-off-by: Dong Aisheng <[email protected]>
(cherry picked from commit 2ce993c)
  • Loading branch information
Dong Aisheng committed Mar 1, 2016
1 parent e42f70d commit 0c80e59
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/imx6qdl-sabresd-btwifi.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,6 @@
no-1-8-v;
non-removable;
cd-post;
pm-ignore-notify;
wifi-host;
};
1 change: 1 addition & 0 deletions arch/arm/boot/dts/imx6sl-evk-btwifi.dts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
no-1-8-v;
non-removable;
cd-post;
pm-ignore-notify;
wifi-host;
};

Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/imx6sx-sdb-btwifi.dts
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@
no-1-8-v; /* force 3.3V VIO */
non-removable;
cd-post;
pm-ignore-notify;
wifi-host; /* pull in card detect mechanism for BCMDHD driver */
status = "okay";
};
1 change: 1 addition & 0 deletions arch/arm/boot/dts/imx6ul-evk-btwifi.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,6 @@
no-1-8-v;
non-removable;
cd-post;
pm-ignore-notify;
wifi-host; /* add hook for SD card detect mechanism for BCMDHD driver */
};
1 change: 1 addition & 0 deletions arch/arm/boot/dts/imx7d-sdb.dts
Original file line number Diff line number Diff line change
Expand Up @@ -1153,6 +1153,7 @@
keep-power-in-suspend;
non-removable;
cd-post;
pm-ignore-notify;
wifi-host;
status = "okay";
};
Expand Down

0 comments on commit 0c80e59

Please sign in to comment.