[SCSI] dpt_i2o: return SCSI_MLQUEUE_HOST_BUSY when in reset
authorHannes Reinecke <hare@suse.de>
Wed, 23 Oct 2013 08:51:16 +0000 (10:51 +0200)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 25 Oct 2013 10:40:42 +0000 (11:40 +0100)
When the HBA is in reset we should be returning 'busy' and not
rely on the obscure 'last_reset' feature.

[jejb: checkpatch fixes]
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/dpt_i2o.c

index d13517d..c0ae8fa 100644 (file)
@@ -448,11 +448,8 @@ static int adpt_queue_lck(struct scsi_cmnd * cmd, void (*done) (struct scsi_cmnd
        }
 
        rmb();
-       if ((pHba->state) & DPTI_STATE_RESET) {
-               pHba->host->last_reset = jiffies;
-               pHba->host->resetting = 1;
-               return 1;
-       }
+       if ((pHba->state) & DPTI_STATE_RESET)
+               return SCSI_MLQUEUE_HOST_BUSY;
 
        // TODO if the cmd->device if offline then I may need to issue a bus rescan
        // followed by a get_lct to see if the device is there anymore