diff options
author | Markus Lidel <Markus.Lidel@shadowconnect.com> | 2006-02-04 23:27:39 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-05 11:06:51 -0800 |
commit | e22bec266cd6f540da2a61db216914c3473135cc (patch) | |
tree | 9b84d8ecefa37a63929b34af78ca1b344eaeab49 /drivers/message | |
parent | 238e7db9357bfe1ce3d6f7ac1e60e595e9d46b7b (diff) | |
download | kernel-crypto-e22bec266cd6f540da2a61db216914c3473135cc.tar.gz kernel-crypto-e22bec266cd6f540da2a61db216914c3473135cc.tar.xz kernel-crypto-e22bec266cd6f540da2a61db216914c3473135cc.zip |
[PATCH] Fix i2o_scsi oops on abort
Fix http://bugzilla.kernel.org/show_bug.cgi?id=5923
When a scsi command failed, an oops would result.
Back-to-back SMART queries would make the Seagate drives unhappy. The
second SMART query would timeout, and the command would be aborted.
Acked-by: Markus Lidel <Markus.Lidel@shadowconnect.com>
Cc: Kenny Simpson <theonetruekenny@yahoo.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/message')
-rw-r--r-- | drivers/message/i2o/i2o_scsi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/message/i2o/i2o_scsi.c b/drivers/message/i2o/i2o_scsi.c index f9e5a23697a..c08ddac3717 100644 --- a/drivers/message/i2o/i2o_scsi.c +++ b/drivers/message/i2o/i2o_scsi.c @@ -732,7 +732,7 @@ static int i2o_scsi_abort(struct scsi_cmnd *SCpnt) cpu_to_le32(I2O_CMD_SCSI_ABORT << 24 | HOST_TID << 12 | tid); msg->body[0] = cpu_to_le32(i2o_cntxt_list_get_ptr(c, SCpnt)); - if (i2o_msg_post_wait(c, msg, I2O_TIMEOUT_SCSI_SCB_ABORT)) + if (!i2o_msg_post_wait(c, msg, I2O_TIMEOUT_SCSI_SCB_ABORT)) status = SUCCESS; return status; |