summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2014-10-24 14:26:47 +0200
committerChristoph Hellwig <hch@lst.de>2014-11-12 11:15:59 +0100
commit279c43b30b82c8d509e4222ffdfa8b552a5f2a73 (patch)
treece0b03d0fd6325975b9100d6c08f01f769250bb6
parentacornscsi: use scsi_print_command() (diff)
downloadlinux-279c43b30b82c8d509e4222ffdfa8b552a5f2a73.tar.xz
linux-279c43b30b82c8d509e4222ffdfa8b552a5f2a73.zip
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>
-rw-r--r--drivers/scsi/arm/fas216.c3
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)
SCpnt->result, info->scsi.SCp.ptr,
info->scsi.SCp.this_residual);
__scsi_print_command(SCpnt->cmnd);
- SCpnt->result &= ~(255 << 16);
- SCpnt->result |= DID_BAD_TARGET << 16;
+ set_host_byte(SCpnt, DID_ERROR);
goto request_sense;
}
}