[PATCH] call correct scsi_done function in scsi_dispatch_cmd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx>
--- linux-2.6.12-rc3/drivers/scsi/scsi.c.orig	2005-04-29 17:05:01.323994458 -0700
+++ linux-2.6.12-rc3/drivers/scsi/scsi.c	2005-04-29 17:05:18.406145282 -0700
@@ -542,7 +542,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *
 		 * that the device is no longer present */
 		cmd->result = DID_NO_CONNECT << 16;
 		atomic_inc(&cmd->device->iorequest_cnt);
-		scsi_done(cmd);
+		__scsi_done(cmd);
 		/* return 0 (because the command has been processed) */
 		goto out;
 	}

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux