diff options
author | Hannes Reinecke <hare@suse.de> | 2014-10-24 08:26:47 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-11-12 05:15:59 -0500 |
commit | 279c43b30b82c8d509e4222ffdfa8b552a5f2a73 (patch) | |
tree | ce0b03d0fd6325975b9100d6c08f01f769250bb6 /drivers/scsi/arm | |
parent | 2e120a5762a0f9c8dad25f04bdfdf374ff890d2e (diff) |
fas216: return DID_ERROR for incomplete data transfer
fas216 returns DID_BAD_TARGET for an incomplete data
transfer. The midlayer uses DID_BAD_TARGET to signal
a non-existing or not reachable target. So we should
rather be using DID_ERROR here.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Robert Elliott <elliott@hp.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/arm')
-rw-r--r-- | drivers/scsi/arm/fas216.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/scsi/arm/fas216.c b/drivers/scsi/arm/fas216.c index 71cfb1e504c4..7fc6fd30593d 100644 --- a/drivers/scsi/arm/fas216.c +++ b/drivers/scsi/arm/fas216.c | |||
@@ -2085,8 +2085,7 @@ fas216_std_done(FAS216_Info *info, struct scsi_cmnd *SCpnt, unsigned int result) | |||
2085 | SCpnt->result, info->scsi.SCp.ptr, | 2085 | SCpnt->result, info->scsi.SCp.ptr, |
2086 | info->scsi.SCp.this_residual); | 2086 | info->scsi.SCp.this_residual); |
2087 | __scsi_print_command(SCpnt->cmnd); | 2087 | __scsi_print_command(SCpnt->cmnd); |
2088 | SCpnt->result &= ~(255 << 16); | 2088 | set_host_byte(SCpnt, DID_ERROR); |
2089 | SCpnt->result |= DID_BAD_TARGET << 16; | ||
2090 | goto request_sense; | 2089 | goto request_sense; |
2091 | } | 2090 | } |
2092 | } | 2091 | } |