diff options
author | Gary S. Robertson <gary.robertson@linaro.org> | 2015-09-09 14:34:49 -0500 |
---|---|---|
committer | Gary S. Robertson <gary.robertson@linaro.org> | 2015-09-09 14:34:49 -0500 |
commit | 60f13d2d65b7c0c4096321ee88670e56954ee215 (patch) | |
tree | d00f8c8159913c76970b2da3b2942ba08909bd1e /drivers/mmc/card/block.c | |
parent | fc6c8563fb89aaaab437f8215894219e54dfc5df (diff) | |
parent | 417f54239f760856db32c520ae542ff288145c13 (diff) |
Merge tag 'lsk-v3.18-15.08' of http://git.linaro.org/kernel/linux-linaro-stable into linux-linaro-lng-v3.18linux-lng-3.18.20-2015.09linux-linaro-lng-v3.18-test
LSK 15.08 v3.18
Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
Conflicts:
drivers/clocksource/exynos_mct.c
Diffstat (limited to 'drivers/mmc/card/block.c')
-rw-r--r-- | drivers/mmc/card/block.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index a19a18f0058a..10ecc0a0112b 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -205,6 +205,8 @@ static ssize_t power_ro_lock_show(struct device *dev, ret = snprintf(buf, PAGE_SIZE, "%d\n", locked); + mmc_blk_put(md); + return ret; } @@ -1915,9 +1917,11 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc) break; case MMC_BLK_CMD_ERR: ret = mmc_blk_cmd_err(md, card, brq, req, ret); - if (!mmc_blk_reset(md, card->host, type)) - break; - goto cmd_abort; + if (mmc_blk_reset(md, card->host, type)) + goto cmd_abort; + if (!ret) + goto start_new_req; + break; case MMC_BLK_RETRY: if (retry++ < 5) break; |