Patchwork Fix ahci don't retry commands after a success error handler.

login
register
mail settings
Submitter y b
Date Jan. 6, 2013, 5:14 a.m.
Message ID <CAPoh-nbV0yc_QH-D3L5ms_n_83BkPFC6ZUJHd=H9t=hqKRKVWw@mail.gmail.com>
Download mbox | patch
Permalink /patch/209726/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

y b - Jan. 6, 2013, 5:14 a.m.
From 78c0fb104c9957db682518b97ce6a01ce1bc07b6 Mon Sep 17 00:00:00 2001
From: Bian Yu <bianyu@kedacom.com>
Date: Wed, 12 Dec 2012 22:26:58 -0500
Subject: [PATCH] It should be a mistake introduced by commit 8d899e70c1b3afff.
 because only qc->flags can't be set AC_ERR_*

Signed-off-by: Bian Yu <bianyu@kedacom.com>
---
 drivers/ata/libata-eh.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

                return 1;       /* otherwise retry anything from fs stack */
Jeff Garzik - Jan. 14, 2013, 6:10 p.m.
On 01/06/2013 12:14 AM, y b wrote:
>>From 78c0fb104c9957db682518b97ce6a01ce1bc07b6 Mon Sep 17 00:00:00 2001
> From: Bian Yu <bianyu@kedacom.com>
> Date: Wed, 12 Dec 2012 22:26:58 -0500
> Subject: [PATCH] It should be a mistake introduced by commit 8d899e70c1b3afff.
>   because only qc->flags can't be set AC_ERR_*
>
> Signed-off-by: Bian Yu <bianyu@kedacom.com>
> ---
>   drivers/ata/libata-eh.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
> index bf039b0..bcf4437 100644
> --- a/drivers/ata/libata-eh.c
> +++ b/drivers/ata/libata-eh.c
> @@ -2094,7 +2094,7 @@ static unsigned int ata_eh_speed_down(struct
> ata_device *dev,
>    */
>   static inline int ata_eh_worth_retry(struct ata_queued_cmd *qc)
>   {
> -       if (qc->flags & AC_ERR_MEDIA)
> +       if (qc->err_mask & AC_ERR_MEDIA)
>                  return 0;       /* don't retry media errors */
>          if (qc->flags & ATA_QCFLAG_IO)

applied, good catch



--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index bf039b0..bcf4437 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2094,7 +2094,7 @@  static unsigned int ata_eh_speed_down(struct
ata_device *dev,
  */
 static inline int ata_eh_worth_retry(struct ata_queued_cmd *qc)
 {
-       if (qc->flags & AC_ERR_MEDIA)
+       if (qc->err_mask & AC_ERR_MEDIA)
                return 0;       /* don't retry media errors */
        if (qc->flags & ATA_QCFLAG_IO)