Hi,
We have custom platform based on AM3356. During suspend (echo mem > /sys/power/state), it hangs while going through mmc0 device suspend (mmcblk). We have SD Card connected on mmc0 which we are using as boot up media. It hangs in dpm_run_callback. If I comment out error = cb(dev), I do not see hang and system suspends fine.
I guess cb(dev), ultimately calls suspend function 'mmc_blk_suspend' defined in block.c file. If I simply return from this function also, still hang is there. But If I comment out 'error=cb(dev)', I see no issue.
Hang does not happens all the time. We added "uim-sysfs" start service to Init scripts to start uim-sysfs service on boot. If this service is started as part of Init scripts, I see suspend hang. If I remove the service from Init scrips,a nd run it manually, I do not see suspend hang when I try to suspend the platform. Platform is a headless device and we will have to run in house built application. If I try to run this application also, I see suspend hang issues.
We are using Linux 3.12.10. TI release 7.00.00 for AM335x family.
I am confused on what causing this mmc0 sleep hang. Any help is highly appreciated.
Thanks,
Srinivas