diff options
author | Ethan Du <ethan.too@gmail.com> | 2010-09-09 23:37:49 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-10 01:57:23 (GMT) |
commit | e7cb756fc3c7c32040283963572258381b342dff (patch) | |
tree | 59d4353875093251f4ed0bd9f01ba18086ea49b7 /include | |
parent | 23ef309a6e070490da0a37b9b6383819f8170ea3 (diff) | |
download | linux-e7cb756fc3c7c32040283963572258381b342dff.tar.xz |
omap hsmmc: fix a racing case between kmmcd and omap_hsmmc_suspend
If suspend called when kmmcd is doing host->ops->disable, as kmmcd already
increased host->en_dis_recurs to 1, the mmc_host_enable in suspend
function will return directly without increase the nesting_cnt, which will
cause the followed register access carried out to the disabled host.
mmc_suspend_host will enable host itself. No need to enable host before
it. Also works on kmmcd will get flushed in mmc_suspend_host, enable host
after it will be safe. So make the mmc_host_enable after it.
[cjb: rebase against current Linus]
Signed-off-by: Ethan <ethan.too@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Acked-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions