diff options
author | Wayne Boyer <wayneb@linux.vnet.ibm.com> | 2010-05-14 11:55:13 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-05-24 12:11:06 -0400 |
commit | b8803b1cef28af785c4e903b9b1449898d68c758 (patch) | |
tree | 7415f2759f91ed85db4219bbd27992a8a6d2ad0d /drivers/scsi/ipr.c | |
parent | 7be96900a2a662c67403559acd250f011b1d70db (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.c | 2 |
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; |