sdhci-pxav3: Fix runtime PM initialization
authorDaniel Drake <dsd@laptop.org>
Thu, 27 Jun 2013 15:46:29 +0000 (11:46 -0400)
committerChris Ball <cjb@laptop.org>
Thu, 27 Jun 2013 16:39:23 +0000 (12:39 -0400)
commit0dcaa2499b7d111bd70da5b0976c34210c850fb3
tree7a3f394ef96c6c82660c2c41218cd614e9671b96
parent5a36d6bcdf23e408da1d0cbb5d5ad2a26089e9ca
sdhci-pxav3: Fix runtime PM initialization

Commit bb691ae464b77d30e74c66480e98d74e88d6b194 breaks boot on OLPC
XO-4, it hangs somewhere inside sdhci_add_host.

When pm_runtime_set_autosuspend_delay() was being called, the device's
usage counter was 0, causing the PM layer to runtime-suspend the
device.  We then went on to call sdhci_add_host() on a suspended
device, which hung.

Fix this by making the driver consistent with the omap_hsmmc driver,
both in terms of runtime PM initialization and error handling. Now
the device is not runtime-suspended until we exit the probe routine.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/sdhci-pxav3.c