> static u32 adpt_cmd_to_context(struct scsi_cmnd *cmd) > { > - return (u32)cmd->serial_number; > + return (u32)cmd->request->tag + 1; Why the +1 (with the corresponding -1 later)? Also why keep this rather confusing helper? > } > > /* > @@ -604,28 +604,12 @@ static struct scsi_cmnd * > adpt_cmd_from_context(adpt_hba * pHba, u32 context) > { > struct scsi_cmnd * cmd; > > spin_unlock(pHba->host->host_lock); > + cmd = scsi_host_find_tag(pHba->host, context - 1); > spin_lock(pHba->host->host_lock); > > - return NULL; > + return cmd; No need to take the host_lock around scsi_host_find_tag. Also we cant probably drop this helper.