Bug 196321

Summary: System got blocked by mmc tuning process
Product: Drivers Reporter: Shawn Lin (shawn.lin)
Component: MMC/SDAssignee: drivers_mmc-sd
Status: NEW ---    
Severity: normal    
Priority: P1    
Hardware: ARM   
OS: Linux   
Kernel Version: V4.4+ Subsystem:
Regression: No Bisected commit-id:

Description Shawn Lin 2017-07-11 06:31:41 UTC
The mmc stack seems never finish its tuning process and no normal/err interrupt fires to break out the dead loop of dwmmc controller driver waiting for the FSM to go over the EVENT_CMD_COMPLETE in pendings events.

debug> [ 4210.468364] sysrq: SysRq : Show Blocked State
[ 4210.468459]   task                        PC stack   pid father
[ 4210.468712] mmcqd/1         D ffffff8008085868     0   181      2 0x00000000
[ 4210.468781] Call trace:
[ 4210.468838] [<ffffff8008085868>] __switch_to+0xb4/0xc0
[ 4210.468891] [<ffffff8008b725d4>] __schedule+0x45c/0x6dc
[ 4210.468937] [<ffffff8008b728d8>] schedule+0x84/0xa4
[ 4210.468985] [<ffffff8008b75380>] schedule_timeout+0x3c/0x25c
[ 4210.469033] [<ffffff8008b734a8>] wait_for_common+0x148/0x180
[ 4210.469080] [<ffffff8008b734f4>] wait_for_completion+0x14/0x1c
[ 4210.469133] [<ffffff8008831994>] mmc_wait_for_req+0x84/0x160
[ 4210.469188] [<ffffff80088382e0>] mmc_send_tuning+0x12c/0x198
[ 4210.469240] [<ffffff800884c36c>] dw_mci_rk3288_execute_tuning+0xb0/0x258
[ 4210.469290] [<ffffff80088484cc>] dw_mci_execute_tuning+0x2c/0x34
[ 4210.469341] [<ffffff80088331a4>] mmc_execute_tuning+0x3c/0x80
[ 4210.469393] [<ffffff8008837470>] mmc_init_card+0x100c/0x1560
[ 4210.469445] [<ffffff8008837ad8>] _mmc_resume+0x8c/0xcc
[ 4210.469496] [<ffffff8008837b84>] mmc_runtime_resume+0x14/0x4c
[ 4210.469547] [<ffffff800883445c>] mmc_runtime_resume+0x18/0x20
[ 4210.469602] [<ffffff8008510644>] __rpm_callback+0x40/0x74
[ 4210.469653] [<ffffff80085106b8>] rpm_callback+0x40/0x80
[ 4210.469704] [<ffffff8008511784>] rpm_resume+0x410/0x50c
[ 4210.469756] [<ffffff80085118d0>] __pm_runtime_resume+0x50/0x74
[ 4210.469805] [<ffffff80088316fc>] mmc_get_card+0x1c/0x34
[ 4210.469860] [<ffffff8008842654>] mmc_blk_issue_rq+0x50/0x3ec
[ 4210.469912] [<ffffff800884336c>] mmc_queue_thread+0xdc/0x194
[ 4210.469960] [<ffffff80080bc628>] kthread+0xf8/0x100
[ 4210.470007] [<ffffff8008082840>] ret_from_fork+0x10/0x50