diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2011-05-10 14:18:15 -0400 |
---|---|---|
committer | James Bottomley <jbottomley@parallels.com> | 2011-05-17 03:28:03 -0400 |
commit | fa96d927362a422405d65491326f8ef763572e84 (patch) | |
tree | f79166814f6047e563934ef03722717eb3ca3911 /drivers/scsi/qla2xxx/qla_nx.c | |
parent | cefcaba67ab97fb756b3a6af5139c94d861b660d (diff) |
[SCSI] qla2xxx: Properly set the dsd_list_len for dsd_chaining in cmd type 6.
The firmware spec has the fcp_data_dseg_len defined as a 32-bit
value, while the corresponding field in the driver structure has
it defined as a 16-bit value.
Cc: stable@kernel.org
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <jbottomley@parallels.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_nx.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_nx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c index acd1ad3f9574..8b217f39d23c 100644 --- a/drivers/scsi/qla2xxx/qla_nx.c +++ b/drivers/scsi/qla2xxx/qla_nx.c | |||
@@ -2563,11 +2563,11 @@ qla2xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt, | |||
2563 | dsd_seg = (uint32_t *)&cmd_pkt->fcp_data_dseg_address; | 2563 | dsd_seg = (uint32_t *)&cmd_pkt->fcp_data_dseg_address; |
2564 | *dsd_seg++ = cpu_to_le32(LSD(dsd_ptr->dsd_list_dma)); | 2564 | *dsd_seg++ = cpu_to_le32(LSD(dsd_ptr->dsd_list_dma)); |
2565 | *dsd_seg++ = cpu_to_le32(MSD(dsd_ptr->dsd_list_dma)); | 2565 | *dsd_seg++ = cpu_to_le32(MSD(dsd_ptr->dsd_list_dma)); |
2566 | cmd_pkt->fcp_data_dseg_len = dsd_list_len; | 2566 | *dsd_seg++ = cpu_to_le32(dsd_list_len); |
2567 | } else { | 2567 | } else { |
2568 | *cur_dsd++ = cpu_to_le32(LSD(dsd_ptr->dsd_list_dma)); | 2568 | *cur_dsd++ = cpu_to_le32(LSD(dsd_ptr->dsd_list_dma)); |
2569 | *cur_dsd++ = cpu_to_le32(MSD(dsd_ptr->dsd_list_dma)); | 2569 | *cur_dsd++ = cpu_to_le32(MSD(dsd_ptr->dsd_list_dma)); |
2570 | *cur_dsd++ = dsd_list_len; | 2570 | *cur_dsd++ = cpu_to_le32(dsd_list_len); |
2571 | } | 2571 | } |
2572 | cur_dsd = (uint32_t *)next_dsd; | 2572 | cur_dsd = (uint32_t *)next_dsd; |
2573 | while (avail_dsds) { | 2573 | while (avail_dsds) { |