]> Pileus Git - ~andy/linux/commitdiff
[SCSI] qla2xxx: remove eh_active checks in qla2xxx error handling
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Tue, 20 Sep 2005 20:25:53 +0000 (13:25 -0700)
committerJames Bottomley <jejb@mulgrave.(none)>
Fri, 28 Oct 2005 18:25:26 +0000 (13:25 -0500)
Here's a patch which drops the eh_active checks in the qla2xxx
eh_handler callbacks.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/qla2xxx/qla_os.c

index 74a26a4a69b6ace6cca6b1bb276a250b4d5a8cbe..92976c235ee2aa7960a8077726de14393bcdf530 100644 (file)
@@ -762,29 +762,19 @@ qla2xxx_eh_device_reset(struct scsi_cmnd *cmd)
                goto eh_dev_reset_done;
        }
 
-       /*
-        * If we are coming down the EH path, wait for all commands to
-        * complete for the device.
-        */
-       if (cmd->device->host->eh_active) {
-               if (qla2x00_eh_wait_for_pending_target_commands(ha, id))
-                       ret = FAILED;
-
-               if (ret == FAILED) {
-                       DEBUG3(printk("%s(%ld): failed while waiting for "
-                           "commands\n", __func__, ha->host_no));
-                       qla_printk(KERN_INFO, ha,
-                           "%s: failed while waiting for commands\n",
-                           __func__);
-
-                       goto eh_dev_reset_done;
-               }
-       }
-
-       qla_printk(KERN_INFO, ha,
-           "scsi(%ld:%d:%d): DEVICE RESET SUCCEEDED.\n", ha->host_no, id, lun);
+       /* Flush outstanding commands. */
+       if (qla2x00_eh_wait_for_pending_target_commands(ha, id))
+               ret = FAILED;
+       if (ret == FAILED) {
+               DEBUG3(printk("%s(%ld): failed while waiting for commands\n",
+                   __func__, ha->host_no));
+               qla_printk(KERN_INFO, ha,
+                   "%s: failed while waiting for commands\n", __func__);
+       } else
+               qla_printk(KERN_INFO, ha,
+                   "scsi(%ld:%d:%d): DEVICE RESET SUCCEEDED.\n", ha->host_no,
+                   id, lun);
 
-eh_dev_reset_done:
        return ret;
 }
 
@@ -886,10 +876,9 @@ qla2xxx_eh_bus_reset(struct scsi_cmnd *cmd)
        if (ret == FAILED)
                goto eh_bus_reset_done;
 
-       /* Waiting for our command in done_queue to be returned to OS.*/
-       if (cmd->device->host->eh_active)
-               if (!qla2x00_eh_wait_for_pending_commands(ha))
-                       ret = FAILED;
+       /* Flush outstanding commands. */
+       if (!qla2x00_eh_wait_for_pending_commands(ha))
+               ret = FAILED;
 
 eh_bus_reset_done:
        qla_printk(KERN_INFO, ha, "%s: reset %s\n", __func__,