diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-06-06 13:21:57 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-06-06 13:21:57 -0700 |
| commit | f96ac4e0948fed09f9c022856495f2b352306af7 (patch) | |
| tree | 9810da2c3e1674ee7e05e19cacbebe3c134df9fd | |
| parent | 952a3f35ab256a13a8ffee8d0e179fe75342fa6d (diff) | |
| parent | 20e817d30c746817e8ad2299956730be134ddd0d (diff) | |
Merge "mmc: debugfs: fix unclocked register access by force_error"
| -rw-r--r-- | drivers/mmc/core/debugfs.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/mmc/core/debugfs.c b/drivers/mmc/core/debugfs.c index 594fba08e623..72bfdd835178 100644 --- a/drivers/mmc/core/debugfs.c +++ b/drivers/mmc/core/debugfs.c @@ -337,10 +337,15 @@ static int mmc_force_err_set(void *data, u64 val) { struct mmc_host *host = data; - if (host && host->ops && host->ops->force_err_irq) { - mmc_host_clk_hold(host); + if (host && host->card && host->ops && + host->ops->force_err_irq) { + /* + * To access the force error irq reg, we need to make + * sure the host is powered up and host clock is ticking. + */ + mmc_get_card(host->card); host->ops->force_err_irq(host, val); - mmc_host_clk_release(host); + mmc_put_card(host->card); } return 0; |
