mmc: core: use non-reentrant workqueue for clock gating
authorMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 18 Aug 2011 12:23:49 +0000 (15:23 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 3 Oct 2011 18:40:10 +0000 (11:40 -0700)
commit6942511b6b2a4a6b1fb969905c6841bdb7c1083c
treedb365d375c8a3009962279334cb2d98c6e4ddfdf
parent0bd01aeeec0a9ba11adceb71aceed08ed276e3c0
mmc: core: use non-reentrant workqueue for clock gating

commit 50a50f9248497484c678631a9c1a719f1aaeab79 upstream.

The default multithread workqueue can cause the same work to be executed
concurrently on a different CPUs. This isn't really suitable for clock
gating as it might already gated the clock and gating it twice results both
host->clk_old and host->ios.clock to be set to 0.

To prevent this from happening we use system_nrt_wq instead.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/mmc/core/host.c