Skip to contentSkip to conversation

call correct scsi_done function in scsi_dispatch_cmd

PATCH New Mike Christie 1 participant 1 message Apr 30, 2005 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

drivers/scsi/scsi.c renamed from drivers/scsi/scsi.c.orig +1 -1
@@ -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;
 	}