Loading drivers/mmc/card/block.c +10 −3 Original line number Diff line number Diff line Loading @@ -3104,7 +3104,8 @@ static void mmc_blk_cmdq_err(struct mmc_queue *mq) struct mmc_request *mrq = host->err_mrq; struct mmc_cmdq_context_info *ctx_info = &host->cmdq_ctx; struct request_queue *q; int err; int err, ret; u32 status = 0; mmc_host_clk_hold(host); host->cmdq_ops->dumpstate(host); Loading @@ -3123,8 +3124,14 @@ static void mmc_blk_cmdq_err(struct mmc_queue *mq) /* RED error - Fatal: requires reset */ if (mrq->cmdq_req->resp_err) { err = mrq->cmdq_req->resp_err; pr_crit("%s: Response error detected: Device in bad state\n", mmc_hostname(host)); if (mmc_host_halt(host) || mmc_host_cq_disable(host)) { ret = get_card_status(host->card, &status, 0); if (ret) pr_err("%s: CMD13 failed with err %d\n", mmc_hostname(host), ret); } pr_err("%s: Response error detected with device status 0x%08x\n", mmc_hostname(host), status); goto reset; } Loading drivers/mmc/core/core.c +6 −0 Original line number Diff line number Diff line Loading @@ -1476,6 +1476,12 @@ int mmc_cmdq_halt(struct mmc_host *host, bool halt) { int err = 0; if (mmc_host_cq_disable(host)) { pr_debug("%s: %s: CQE is already disabled\n", mmc_hostname(host), __func__); return 0; } if ((halt && mmc_host_halt(host)) || (!halt && !mmc_host_halt(host))) { pr_debug("%s: %s: CQE is already %s\n", mmc_hostname(host), Loading Loading
drivers/mmc/card/block.c +10 −3 Original line number Diff line number Diff line Loading @@ -3104,7 +3104,8 @@ static void mmc_blk_cmdq_err(struct mmc_queue *mq) struct mmc_request *mrq = host->err_mrq; struct mmc_cmdq_context_info *ctx_info = &host->cmdq_ctx; struct request_queue *q; int err; int err, ret; u32 status = 0; mmc_host_clk_hold(host); host->cmdq_ops->dumpstate(host); Loading @@ -3123,8 +3124,14 @@ static void mmc_blk_cmdq_err(struct mmc_queue *mq) /* RED error - Fatal: requires reset */ if (mrq->cmdq_req->resp_err) { err = mrq->cmdq_req->resp_err; pr_crit("%s: Response error detected: Device in bad state\n", mmc_hostname(host)); if (mmc_host_halt(host) || mmc_host_cq_disable(host)) { ret = get_card_status(host->card, &status, 0); if (ret) pr_err("%s: CMD13 failed with err %d\n", mmc_hostname(host), ret); } pr_err("%s: Response error detected with device status 0x%08x\n", mmc_hostname(host), status); goto reset; } Loading
drivers/mmc/core/core.c +6 −0 Original line number Diff line number Diff line Loading @@ -1476,6 +1476,12 @@ int mmc_cmdq_halt(struct mmc_host *host, bool halt) { int err = 0; if (mmc_host_cq_disable(host)) { pr_debug("%s: %s: CQE is already disabled\n", mmc_hostname(host), __func__); return 0; } if ((halt && mmc_host_halt(host)) || (!halt && !mmc_host_halt(host))) { pr_debug("%s: %s: CQE is already %s\n", mmc_hostname(host), Loading