Bug 5923

Summary: i2o_scsi oops on abort
Product: Drivers Reporter: Kenny Simpson (theonetruekenny)
Component: I2OAssignee: Alan (alan)
Status: CLOSED CODE_FIX    
Severity: normal CC: bunk, theonetruekenny
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15 Subsystem:
Regression: --- Bisected commit-id:

Description Kenny Simpson 2006-01-19 06:40:56 UTC
Distribution:  Debian Sarge
Hardware Environment:
Onboard Adaptec RAID with zero-channel controller
conntected to 4 Seagate drived in RAID 10

Software Environment:
2.6.15 kernel.

Problem Description:
When a scsi command failed, an oops would result.

Steps to reproduce:
Back-to-back SMART queries would make the Seagate drives unhappy.  The second
SMART query would timeout, and the command would be aborted.

Here is a patch which fixed the problem, but I see it not applied as of2.6.15.1:

 Index: drivers/message/i2o/i2o_scsi.c
 ===================================================================
 --- drivers/message/i2o/i2o_scsi.c      (revision 324)
 +++ drivers/message/i2o/i2o_scsi.c      (working copy)
 @@ -732,7 +732,7 @@
          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;
Comment 1 Adrian Bunk 2006-02-05 11:42:54 UTC
Thanks for this patch.

It is now included in Linus' tree and will therefore be in 2.6.16-rc3.