From: Mateusz Nowak <mateusz.nowak@linux.intel.com>
To: Linus Walleij <linus.walleij@linaro.org>,
linux-mmc@vger.kernel.org, linux-block@vger.kernel.org,
Ulf Hansson <ulf.hansson@linaro.org>
Cc: Chunyan Zhang <zhang.chunyan@linaro.org>,
Baolin Wang <baolin.wang@linaro.org>,
Paolo Valente <paolo.valente@linaro.org>
Subject: Re: [PATCH 1/6] mmc: block: break out mmc_blk_rw_cmd_abort()
Date: Wed, 25 Jan 2017 10:23:44 +0100 [thread overview]
Message-ID: <54ba79f7-93f1-6a93-79eb-7a7ba0f0d623@linux.intel.com> (raw)
In-Reply-To: <20170124101757.19676-2-linus.walleij@linaro.org>
Hi Linus,
On 1/24/2017 11:17, Linus Walleij wrote:
> As a first step toward breaking apart the very complex function
> mmc_blk_issue_rw_rq() we break out the command abort code.
> This code assumes "ret" is != 0 and then repeatedly hammers
> blk_end_request() until the request to the block layer to end
> the request succeeds.
>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> drivers/mmc/core/block.c | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
> index 7bd03381810d..14efe92a14ef 100644
> --- a/drivers/mmc/core/block.c
> +++ b/drivers/mmc/core/block.c
> @@ -1598,6 +1598,17 @@ static int mmc_blk_cmd_err(struct mmc_blk_data *md, struct mmc_card *card,
> return ret;
> }
>
> +static void mmc_blk_rw_cmd_abort(struct mmc_card *card, struct request *req)
> +{
> + int ret = 1;
blk_end_request is returning bool, so maybe this variable should have
matching type since it is only usage in this scope? And maybe it should
have more meaningful name for this case?
> +
> + if (mmc_card_removed(card))
> + req->rq_flags |= RQF_QUIET;
> + while (ret)
> + ret = blk_end_request(req, -EIO,
> + blk_rq_cur_bytes(req));
> +}
> +
> static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
> {
> struct mmc_blk_data *md = mq->blkdata;
> @@ -1737,11 +1748,7 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *rqc)
> return 1;
>
> cmd_abort:
> - if (mmc_card_removed(card))
> - req->rq_flags |= RQF_QUIET;
> - while (ret)
> - ret = blk_end_request(req, -EIO,
> - blk_rq_cur_bytes(req));
> + mmc_blk_rw_cmd_abort(card, req);
>
> start_new_req:
> if (rqc) {
>
Regards,
Mateusz.
next prev parent reply other threads:[~2017-01-25 9:23 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-24 10:17 [PATCH 0/6] mmc: block: command issue cleanups Linus Walleij
2017-01-24 10:17 ` [PATCH 1/6] mmc: block: break out mmc_blk_rw_cmd_abort() Linus Walleij
2017-01-25 9:23 ` Mateusz Nowak [this message]
2017-01-26 15:01 ` Linus Walleij
2017-01-24 10:17 ` [PATCH 2/6] mmc: block: break out mmc_blk_rw_start_new() Linus Walleij
2017-01-24 10:17 ` [PATCH 3/6] mmc: block: do not assign mq_rq when aborting command Linus Walleij
2017-01-24 10:17 ` [PATCH 4/6] mmc: block: inline command abortions Linus Walleij
2017-01-24 10:17 ` [PATCH 5/6] mmc: block: introduce new_areq and old_areq Linus Walleij
2017-01-24 10:17 ` [PATCH 6/6] mmc: block: stop passing around pointless return values Linus Walleij
2017-01-26 8:07 ` [PATCH 0/6] mmc: block: command issue cleanups Ulf Hansson
2017-01-27 7:58 ` Ulf Hansson
2017-01-27 9:46 ` Maxime Ripard
2017-01-30 13:05 ` Linus Walleij
2017-01-30 13:30 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54ba79f7-93f1-6a93-79eb-7a7ba0f0d623@linux.intel.com \
--to=mateusz.nowak@linux.intel.com \
--cc=baolin.wang@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=paolo.valente@linaro.org \
--cc=ulf.hansson@linaro.org \
--cc=zhang.chunyan@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox