[PATCH] aoe [2/3]: don't request ATA device ID on ATA error
authorEd L. Cashin <ecashin@coraid.com>
Tue, 7 Feb 2006 16:37:24 +0000 (11:37 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 24 Mar 2006 06:01:57 +0000 (22:01 -0800)
On an ATA error response, take the device down instead of
sending another ATA device identify command.

Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
drivers/block/aoe/aoecmd.c

index 207aabcd1f4ecffb5f7b0d99f45d9cb9b5c8bb68..39da28d344fe9465186f6bed89be04ff449a7f77 100644 (file)
@@ -517,6 +517,8 @@ aoecmd_ata_rsp(struct sk_buff *skb)
        ahout = (struct aoe_atahdr *) (f->data + sizeof(struct aoe_hdr));
        buf = f->buf;
 
+       if (ahout->cmdstat == WIN_IDENTIFY)
+               d->flags &= ~DEVFL_PAUSE;
        if (ahin->cmdstat & 0xa9) {     /* these bits cleared on success */
                printk(KERN_CRIT "aoe: aoecmd_ata_rsp: ata error cmd=%2.2Xh "
                        "stat=%2.2Xh from e%ld.%ld\n", 
@@ -549,7 +551,6 @@ aoecmd_ata_rsp(struct sk_buff *skb)
                                return;
                        }
                        ataid_complete(d, (char *) (ahin+1));
-                       d->flags &= ~DEVFL_PAUSE;
                        break;
                default:
                        printk(KERN_INFO "aoe: aoecmd_ata_rsp: unrecognized "