Message ID | 1527229043-216987-1-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 25 May 2018 at 08:17, Shawn Lin <shawn.lin@rock-chips.com> wrote: > Rename mmc_switch_status_error() to mmc_send_status_error(), and > add check_switch_err in order to prepare for using it for other > places. > > No functional change intended. > > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > --- > > drivers/mmc/core/mmc_ops.c | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c > index 4d73db4..6e8826e 100644 > --- a/drivers/mmc/core/mmc_ops.c > +++ b/drivers/mmc/core/mmc_ops.c > @@ -411,18 +411,21 @@ int mmc_spi_set_crc(struct mmc_host *host, int use_crc) > return err; > } > > -static int mmc_switch_status_error(struct mmc_host *host, u32 status) > +static int mmc_send_status_error(struct mmc_host *host, u32 status, > + bool check_switch_err) > { > - if (mmc_host_is_spi(host)) { > - if (status & R1_SPI_ILLEGAL_COMMAND) > - return -EBADMSG; > - } else { > + if (check_switch_err) { > + if (unlikely(mmc_host_is_spi(host))) > + return (status & R1_SPI_ILLEGAL_COMMAND) ? > + -EBADMSG : 0; > + This looks weird. You probably need to squash this with another change for it to make sense. > if (status & 0xFDFFA000) > pr_warn("%s: unexpected status %#x after switch\n", > mmc_hostname(host), status); > if (status & R1_SWITCH_ERROR) > return -EBADMSG; > } > + > return 0; > } > > @@ -438,7 +441,7 @@ int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal) > if (err) > return err; > > - return mmc_switch_status_error(card->host, status); > + return mmc_send_status_error(card->host, status, true); > } > > int mmc_switch_status(struct mmc_card *card) > @@ -493,7 +496,7 @@ static int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms, > } else if (err) { > return err; > } else { > - err = mmc_switch_status_error(host, status); > + err = mmc_send_status_error(host, status, true); > if (err) > return err; > busy = R1_CURRENT_STATE(status) == R1_STATE_PRG; > -- Kind regards Uffe -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2018/5/25 16:49, Ulf Hansson wrote: > On 25 May 2018 at 08:17, Shawn Lin <shawn.lin@rock-chips.com> wrote: >> Rename mmc_switch_status_error() to mmc_send_status_error(), and >> add check_switch_err in order to prepare for using it for other >> places. >> >> No functional change intended. >> >> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> >> --- >> >> drivers/mmc/core/mmc_ops.c | 17 ++++++++++------- >> 1 file changed, 10 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c >> index 4d73db4..6e8826e 100644 >> --- a/drivers/mmc/core/mmc_ops.c >> +++ b/drivers/mmc/core/mmc_ops.c >> @@ -411,18 +411,21 @@ int mmc_spi_set_crc(struct mmc_host *host, int use_crc) >> return err; >> } >> >> -static int mmc_switch_status_error(struct mmc_host *host, u32 status) >> +static int mmc_send_status_error(struct mmc_host *host, u32 status, >> + bool check_switch_err) >> { >> - if (mmc_host_is_spi(host)) { >> - if (status & R1_SPI_ILLEGAL_COMMAND) >> - return -EBADMSG; >> - } else { >> + if (check_switch_err) { >> + if (unlikely(mmc_host_is_spi(host))) >> + return (status & R1_SPI_ILLEGAL_COMMAND) ? >> + -EBADMSG : 0; >> + > > This looks weird. You probably need to squash this with another change > for it to make sense. Sure. > >> if (status & 0xFDFFA000) >> pr_warn("%s: unexpected status %#x after switch\n", >> mmc_hostname(host), status); >> if (status & R1_SWITCH_ERROR) >> return -EBADMSG; >> } >> + >> return 0; >> } >> >> @@ -438,7 +441,7 @@ int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal) >> if (err) >> return err; >> >> - return mmc_switch_status_error(card->host, status); >> + return mmc_send_status_error(card->host, status, true); >> } >> >> int mmc_switch_status(struct mmc_card *card) >> @@ -493,7 +496,7 @@ static int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms, >> } else if (err) { >> return err; >> } else { >> - err = mmc_switch_status_error(host, status); >> + err = mmc_send_status_error(host, status, true); >> if (err) >> return err; >> busy = R1_CURRENT_STATE(status) == R1_STATE_PRG; >> -- > > Kind regards > Uffe > > > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c index 4d73db4..6e8826e 100644 --- a/drivers/mmc/core/mmc_ops.c +++ b/drivers/mmc/core/mmc_ops.c @@ -411,18 +411,21 @@ int mmc_spi_set_crc(struct mmc_host *host, int use_crc) return err; } -static int mmc_switch_status_error(struct mmc_host *host, u32 status) +static int mmc_send_status_error(struct mmc_host *host, u32 status, + bool check_switch_err) { - if (mmc_host_is_spi(host)) { - if (status & R1_SPI_ILLEGAL_COMMAND) - return -EBADMSG; - } else { + if (check_switch_err) { + if (unlikely(mmc_host_is_spi(host))) + return (status & R1_SPI_ILLEGAL_COMMAND) ? + -EBADMSG : 0; + if (status & 0xFDFFA000) pr_warn("%s: unexpected status %#x after switch\n", mmc_hostname(host), status); if (status & R1_SWITCH_ERROR) return -EBADMSG; } + return 0; } @@ -438,7 +441,7 @@ int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal) if (err) return err; - return mmc_switch_status_error(card->host, status); + return mmc_send_status_error(card->host, status, true); } int mmc_switch_status(struct mmc_card *card) @@ -493,7 +496,7 @@ static int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms, } else if (err) { return err; } else { - err = mmc_switch_status_error(host, status); + err = mmc_send_status_error(host, status, true); if (err) return err; busy = R1_CURRENT_STATE(status) == R1_STATE_PRG;
Rename mmc_switch_status_error() to mmc_send_status_error(), and add check_switch_err in order to prepare for using it for other places. No functional change intended. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> --- drivers/mmc/core/mmc_ops.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)