mirror of https://gitee.com/openkylin/linux.git
ncr5380: Call complete_cmd() for disconnected commands on bus reset
I'm told that some targets are liable to disconnect a REQUEST SENSE command. Theoretically this would cause a command undergoing autosense to be moved onto the disconnected list. The bus reset handler must call complete_cmd() for these commands, otherwise the hostdata->sensing pointer will not get cleared. That would cause autosense processing to stall and a timeout or an incorrect scsi_eh_restore_cmnd() would eventually follow. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Reported-by: Michael Schmitz <schmitzmic@gmail.com> Tested-by: Ondrej Zary <linux@rainbow-software.org> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
3a0f64bfa9
commit
216fad9138
|
@ -2437,7 +2437,7 @@ static int NCR5380_bus_reset(struct scsi_cmnd *cmd)
|
||||||
struct scsi_cmnd *cmd = NCR5380_to_scmd(ncmd);
|
struct scsi_cmnd *cmd = NCR5380_to_scmd(ncmd);
|
||||||
|
|
||||||
set_host_byte(cmd, DID_RESET);
|
set_host_byte(cmd, DID_RESET);
|
||||||
cmd->scsi_done(cmd);
|
complete_cmd(instance, cmd);
|
||||||
}
|
}
|
||||||
INIT_LIST_HEAD(&hostdata->disconnected);
|
INIT_LIST_HEAD(&hostdata->disconnected);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue