On 09/23/2010 06:37 PM, Nicholas A. Bellinger wrote: > @@ -651,7 +655,6 @@ static inline void scsi_cmd_get_serial(struct Scsi_Host *host, struct scsi_cmnd > int scsi_dispatch_cmd(struct scsi_cmnd *cmd) > { > struct Scsi_Host *host = cmd->device->host; > - unsigned long flags = 0; > unsigned long timeout; > int rtn = 0; > > @@ -736,15 +739,11 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd) > scsi_done(cmd); > goto out; > } > - > - spin_lock_irqsave(host->host_lock, flags); > /* > - * AK: unlikely race here: for some reason the timer could > - * expire before the serial number is set up below. > - * > - * TODO: kill serial or move to blk layer > + * Note that scsi_cmd_get_serial() used to be called here, but > + * now we expect the legacy SCSI LLDs that actually need this > + * to call it directly within their SHT->queuecommand() caller. > */ > - scsi_cmd_get_serial(host, cmd); > > if (unlikely(host->shost_state == SHOST_DEL)) { > cmd->result = (DID_NO_CONNECT << 16); > @@ -753,7 +752,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd) > trace_scsi_dispatch_cmd_start(cmd); > rtn = host->hostt->queuecommand(cmd, scsi_done); > } > - spin_unlock_irqrestore(host->host_lock, flags); > + > if (rtn) { > trace_scsi_dispatch_cmd_error(cmd, rtn); > if (rtn != SCSI_MLQUEUE_DEVICE_BUSY && Are you planning a future revision that moves the acquiring of the host lock into the LLDD's queuecommand for all the other drivers you don't currently touch in this patch set? -- Brian King Linux on Power Virtualization IBM Linux Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html