On Jul 20, 5:10 pm, robert_mu <mjko...@126.com> wrote:
> Hi everybody:
> I met a trouble and it confuse me a fews days,that is when my
> android wake up,sometimes occours some error aboutT flash card ,here
> is the log:
> sd 0:0:0:0: [sda] Starting disk
> mmc0: new SD card at address 5a61
> mmc mmc0:5a61: parent mmc0 is sleeping, will not add
> −−−−−−−−−−−−[ cut here ]−−−−−−−−−−−−
> WARNING: at drivers/base/power/main.c:78 device_pm_add+0x6c/0xf0()
>
> here is the trace:
> Call Trace:
> [warn_on_slowpath+95/144] warn_on_slowpath+0x5f/0x90
> [device_pm_add+24/240] ? device_pm_add+0x18/0xf0
> [device_pm_add+108/240] device_pm_add+0x6c/0xf0
> [device_add+1092/1376] device_add+0x444/0x560
> [_end+510110570/2109230024] :mmc_core:mmc_add_card+0xa2/0x140
> [_end+510117927/2109230024] :mmc_core:mmc_attach_sd+0x17f/0x860
> [_end+510109176/2109230024] ? :mmc_core:mmc_rescan+0x0/0x1c0
> [_end+510109545/2109230024] :mmc_core:mmc_rescan+0x171/0x1c0
> [run_workqueue+246/560] run_workqueue+0xf6/0x230
> [worker_thread+167/288] worker_thread+0xa7/0x120
> [autoremove_wake_function+0/64] ? autoremove_wake_function+0x0/0x40
> [worker_thread+0/288] ? worker_thread+0x0/0x120
> [kthread+73/144] kthread+0x49/0x90
> [child_rip+10/18] child_rip+0xa/0x12
> [restore_args+0/48] ? restore_args+0x0/0x30
> [kthread+0/144] ? kthread+0x0/0x90
> [child_rip+0/18] ? child_rip+0x0/0x12
>
> I found some conclusion about this:
> It's a result of the way the MMC core is written. There's an
> upper-level controller device, and below that is a host device, and
> below that is the card itself. The code that adds and removes children
> of the host device runs as part of the controller driver.
> Hence the problem: The driver adds children below the _host_ as soon
> as
> the _controller_ is resumed, even though the host is still suspended.
> It's not as big an error as it sounds -- the host was originally a
> class_device and then got converted over to a regular device. It
> doesn't have a driver of its own.
> This is one of the things that needs to be fixed up as part of the
> reworking of the system-sleep API. I simply haven't had any time to
> work on it (and I'm not likely to in the near future).
>
> but I still don't know how to do,is there anyone show me a easy way to
> fix it ?givng source code and patch is better :),thanks all
> PS:my linux kernel version:2.6.28
Try to enable CONFIG_MMC_UNSAFE_RESUME
BR
Xinyu Chen
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---