From: Markus Lidel Date: Sun, 5 Feb 2006 07:27:39 +0000 (-0800) Subject: [PATCH] Fix i2o_scsi oops on abort X-Git-Tag: v2.6.16-rc3~171 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=e22bec266cd6f540da2a61db216914c3473135cc;p=linux-2.6-omap-h63xx.git [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 Cc: Kenny Simpson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- 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;