diff options
| author | Ed L. Cashin <ecashin@coraid.com> | 2006-02-07 11:37:24 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-24 01:01:57 -0500 |
| commit | 9d41965b783474dba9fcf3eb02e5eb60540e6ff6 (patch) | |
| tree | 1780a39793a83087aaa3b2ea9db1ddd653d875d1 | |
| parent | 5dc401ee74c5d6a24867acd8302c55da9ae4f0ce (diff) | |
[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>
| -rw-r--r-- | drivers/block/aoe/aoecmd.c | 3 |
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) | |||
| 517 | ahout = (struct aoe_atahdr *) (f->data + sizeof(struct aoe_hdr)); | 517 | ahout = (struct aoe_atahdr *) (f->data + sizeof(struct aoe_hdr)); |
| 518 | buf = f->buf; | 518 | buf = f->buf; |
| 519 | 519 | ||
| 520 | if (ahout->cmdstat == WIN_IDENTIFY) | ||
| 521 | d->flags &= ~DEVFL_PAUSE; | ||
| 520 | if (ahin->cmdstat & 0xa9) { /* these bits cleared on success */ | 522 | if (ahin->cmdstat & 0xa9) { /* these bits cleared on success */ |
| 521 | printk(KERN_CRIT "aoe: aoecmd_ata_rsp: ata error cmd=%2.2Xh " | 523 | printk(KERN_CRIT "aoe: aoecmd_ata_rsp: ata error cmd=%2.2Xh " |
| 522 | "stat=%2.2Xh from e%ld.%ld\n", | 524 | "stat=%2.2Xh from e%ld.%ld\n", |
| @@ -549,7 +551,6 @@ aoecmd_ata_rsp(struct sk_buff *skb) | |||
| 549 | return; | 551 | return; |
| 550 | } | 552 | } |
| 551 | ataid_complete(d, (char *) (ahin+1)); | 553 | ataid_complete(d, (char *) (ahin+1)); |
| 552 | d->flags &= ~DEVFL_PAUSE; | ||
| 553 | break; | 554 | break; |
| 554 | default: | 555 | default: |
| 555 | printk(KERN_INFO "aoe: aoecmd_ata_rsp: unrecognized " | 556 | printk(KERN_INFO "aoe: aoecmd_ata_rsp: unrecognized " |
