summaryrefslogtreecommitdiffstats
path: root/drivers/block/aoe
diff options
context:
space:
mode:
authorEd L. Cashin <ecashin@coraid.com>2006-02-07 17:37:24 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2006-03-24 07:01:57 +0100
commit9d41965b783474dba9fcf3eb02e5eb60540e6ff6 (patch)
tree1780a39793a83087aaa3b2ea9db1ddd653d875d1 /drivers/block/aoe
parent[PATCH] aoe [1/3]: support multiple AoE listeners (diff)
downloadlinux-9d41965b783474dba9fcf3eb02e5eb60540e6ff6.tar.xz
linux-9d41965b783474dba9fcf3eb02e5eb60540e6ff6.zip
[PATCH] aoe [2/3]: don't request ATA device ID on ATA error
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>
Diffstat (limited to 'drivers/block/aoe')
-rw-r--r--drivers/block/aoe/aoecmd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index 207aabcd1f4e..39da28d344fe 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -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 "