Commit 69b52893 authored by Mike Christie's avatar Mike Christie Committed by James Bottomley

[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: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 036d6184
...@@ -542,7 +542,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd) ...@@ -542,7 +542,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd)
* that the device is no longer present */ * that the device is no longer present */
cmd->result = DID_NO_CONNECT << 16; cmd->result = DID_NO_CONNECT << 16;
atomic_inc(&cmd->device->iorequest_cnt); atomic_inc(&cmd->device->iorequest_cnt);
scsi_done(cmd); __scsi_done(cmd);
/* return 0 (because the command has been processed) */ /* return 0 (because the command has been processed) */
goto out; goto out;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment