aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.c
diff options
context:
space:
mode:
authorWayne Boyer <wayneb@linux.vnet.ibm.com>2010-05-14 11:55:13 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-05-24 12:11:06 -0400
commitb8803b1cef28af785c4e903b9b1449898d68c758 (patch)
tree7415f2759f91ed85db4219bbd27992a8a6d2ad0d /drivers/scsi/ipr.c
parent7be96900a2a662c67403559acd250f011b1d70db (diff)
[SCSI] ipr: set the data list length in the request control block
In bring up testing for the new 64 bit adapters, the first read command failed after loading the driver. The cause was that the command requires more than one scatter gather element and the corresponding code to set the data list length in the request control block was missing. This patch adds the correct assignment. Signed-off-by: Wayne Boyer <wayneb@linux.vnet.ibm.com> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r--drivers/scsi/ipr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 2f280d08fcc6..5244282cd97f 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -5021,6 +5021,8 @@ static int ipr_build_ioadl64(struct ipr_ioa_cfg *ioa_cfg,
5021 ipr_cmd->dma_use_sg = nseg; 5021 ipr_cmd->dma_use_sg = nseg;
5022 5022
5023 ioarcb->data_transfer_length = cpu_to_be32(length); 5023 ioarcb->data_transfer_length = cpu_to_be32(length);
5024 ioarcb->ioadl_len =
5025 cpu_to_be32(sizeof(struct ipr_ioadl64_desc) * ipr_cmd->dma_use_sg);
5024 5026
5025 if (scsi_cmd->sc_data_direction == DMA_TO_DEVICE) { 5027 if (scsi_cmd->sc_data_direction == DMA_TO_DEVICE) {
5026 ioadl_flags = IPR_IOADL_FLAGS_WRITE; 5028 ioadl_flags = IPR_IOADL_FLAGS_WRITE;