diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2005-05-01 15:47:15 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-05-01 15:47:15 -0400 |
commit | 69b528936b702d4c13ffa0d14215a029dc754e50 (patch) | |
tree | c7464605858b1a4bdab5dba2af6bf730961f2b02 | |
parent | 036d618434516103adb4d36db28a57968d2f2e7b (diff) |
[SCSI] call correct scsi_done function in scsi_dispatch_cmd
scsi_dispatch_cmd currently calls scsi_done when the device is in the
SDEV_DEL state, but at this point the command has not had a timer added
to it (this is done a couple lines down) so scsi_done just returns and
the command is lost. The attached patch made against 2.6.12-rc3 calls
__scsi_done in this case so the comamnd will be returned upwards.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r-- | drivers/scsi/scsi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 05d2bd075fd4..184bcaeaf812 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c | |||
@@ -542,7 +542,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd) | |||
542 | * that the device is no longer present */ | 542 | * that the device is no longer present */ |
543 | cmd->result = DID_NO_CONNECT << 16; | 543 | cmd->result = DID_NO_CONNECT << 16; |
544 | atomic_inc(&cmd->device->iorequest_cnt); | 544 | atomic_inc(&cmd->device->iorequest_cnt); |
545 | scsi_done(cmd); | 545 | __scsi_done(cmd); |
546 | /* return 0 (because the command has been processed) */ | 546 | /* return 0 (because the command has been processed) */ |
547 | goto out; | 547 | goto out; |
548 | } | 548 | } |