diff mbox

[RESEND] mmc: core: add error message when switching fails in mmc_select_hs()

Message ID 1471945807-6962-1-git-send-email-js07.lee@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jungseung Lee Aug. 23, 2016, 9:50 a.m. UTC
The switch failure message in mmc_select_timing had been removed
since that is invalid: commit 0400ed0a083a ("mmc: core: remove the
invalid message in mmc_select_timing")

Now, in the case when mmc_select_hs return error in mmc_select_timing,
there is nothing to print failure message.
Let's make for mmc_select_hs() print message itself in the failure case.

Signed-off-by: Jungseung Lee <js07.lee@samsung.com>
---
 drivers/mmc/core/mmc.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Ulf Hansson Aug. 24, 2016, 9:31 a.m. UTC | #1
On 23 August 2016 at 11:50, Jungseung Lee <js07.lee@samsung.com> wrote:
> The switch failure message in mmc_select_timing had been removed
> since that is invalid: commit 0400ed0a083a ("mmc: core: remove the
> invalid message in mmc_select_timing")
>
> Now, in the case when mmc_select_hs return error in mmc_select_timing,
> there is nothing to print failure message.
> Let's make for mmc_select_hs() print message itself in the failure case.
>
> Signed-off-by: Jungseung Lee <js07.lee@samsung.com>
> ---
>  drivers/mmc/core/mmc.c |   10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index f2d185c..e07fcce 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -1018,6 +1018,7 @@ static int mmc_switch_status(struct mmc_card *card)
>   */
>  static int mmc_select_hs(struct mmc_card *card)
>  {
> +       struct mmc_host *host = card->host;

No need for local variable here, just use card->host below instead.

>         int err;
>
>         err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> @@ -1029,6 +1030,10 @@ static int mmc_select_hs(struct mmc_card *card)
>                 err = mmc_switch_status(card);
>         }
>
> +       if (err)
> +               pr_err("%s: switch to high-speed failed, err:%d\n",
> +                       mmc_hostname(host), err);

I think a pr_warn() would be better as mmc_select_timing() uses the
legacy speed mode when err == -EBADMSG.

> +
>         return err;
>  }
>
> @@ -1265,11 +1270,8 @@ static int mmc_select_hs400es(struct mmc_card *card)
>
>         /* Switch card to HS mode */
>         err = mmc_select_hs(card);
> -       if (err) {
> -               pr_err("%s: switch to high-speed failed, err:%d\n",
> -                       mmc_hostname(host), err);
> +       if (err)
>                 goto out_err;
> -       }
>
>         err = mmc_switch_status(card);
>         if (err)
> --
> 1.7.9.5
>

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
Jungseung Lee Aug. 24, 2016, 10:21 a.m. UTC | #2
Hi,

>> @@ -1018,6 +1018,7 @@ static int mmc_switch_status(struct mmc_card *card)

>>   */

>>  static int mmc_select_hs(struct mmc_card *card)

>>  {

>> +       struct mmc_host *host = card->host;


>No need for local variable here, just use card->host below instead.


Yes, it should be.
 
>>         int err;

>>

>>         err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,

>> @@ -1029,6 +1030,10 @@ static int mmc_select_hs(struct mmc_card *card)

>>                 err = mmc_switch_status(card);

>>         }

>>

>> +       if (err)

>> +               pr_err("%s: switch to high-speed failed, err:%d\n",

>> +                       mmc_hostname(host), err);


>I think a pr_warn() would be better as mmc_select_timing() uses the

>legacy speed mode when err == -EBADMSG.


I agree. A modified patch will be sent right after. 
Thanks for your comment.

>> +

>>         return err;

>>  }

>>


>Kind regards

>Uffe
diff mbox

Patch

diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index f2d185c..e07fcce 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -1018,6 +1018,7 @@  static int mmc_switch_status(struct mmc_card *card)
  */
 static int mmc_select_hs(struct mmc_card *card)
 {
+	struct mmc_host *host = card->host;
 	int err;
 
 	err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
@@ -1029,6 +1030,10 @@  static int mmc_select_hs(struct mmc_card *card)
 		err = mmc_switch_status(card);
 	}
 
+	if (err)
+		pr_err("%s: switch to high-speed failed, err:%d\n",
+			mmc_hostname(host), err);
+
 	return err;
 }
 
@@ -1265,11 +1270,8 @@  static int mmc_select_hs400es(struct mmc_card *card)
 
 	/* Switch card to HS mode */
 	err = mmc_select_hs(card);
-	if (err) {
-		pr_err("%s: switch to high-speed failed, err:%d\n",
-			mmc_hostname(host), err);
+	if (err)
 		goto out_err;
-	}
 
 	err = mmc_switch_status(card);
 	if (err)