mmc: core: move ->request() call from atomic context
authorAdrian Hunter <adrian.hunter@intel.com>
Mon, 3 Oct 2011 12:33:33 +0000 (15:33 +0300)
committerChris Ball <cjb@laptop.org>
Wed, 26 Oct 2011 20:32:19 +0000 (16:32 -0400)
mmc_request_done() is sometimes called from interrupt or other atomic
context.  Mostly all mmc_request_done() does is complete(), however it
contains code to retry on error, which uses ->request().  As the error
path is certainly not performance critical, this may be moved to the
waiting function mmc_wait_for_req_done().

This allows ->request() to use runtime PM get_sync() and guarantee it
is never in an atomic context.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Ulf Hansson <ulf.hansson@stericsson.com>
Signed-off-by: Chris Ball <cjb@laptop.org>

No differences found