diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2007-09-09 23:17:13 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2007-10-16 05:21:01 -0400 |
commit | c0dcffd71d5064efefa620231152c38eca8e066b (patch) | |
tree | eb23f635829da4b8fe1cda05376d73b9d3ebfd3e /drivers/scsi/qla1280.c | |
parent | 0874ee76bcd06e2f53c32a56773ad82f5920f0f9 (diff) |
qla1280: sg chaining fixes
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'drivers/scsi/qla1280.c')
-rw-r--r-- | drivers/scsi/qla1280.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c index 1f17dec7d6fc..5cc23f8f370a 100644 --- a/drivers/scsi/qla1280.c +++ b/drivers/scsi/qla1280.c | |||
@@ -2977,8 +2977,8 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp) | |||
2977 | cpu_to_le32(pci_dma_hi32(dma_handle)), | 2977 | cpu_to_le32(pci_dma_hi32(dma_handle)), |
2978 | cpu_to_le32(pci_dma_lo32(dma_handle)), | 2978 | cpu_to_le32(pci_dma_lo32(dma_handle)), |
2979 | cpu_to_le32(sg_dma_len(s))); | 2979 | cpu_to_le32(sg_dma_len(s))); |
2980 | remseg--; | ||
2981 | } | 2980 | } |
2981 | remseg -= cnt; | ||
2982 | dprintk(5, "qla1280_64bit_start_scsi: " | 2982 | dprintk(5, "qla1280_64bit_start_scsi: " |
2983 | "continuation packet data - b %i, t " | 2983 | "continuation packet data - b %i, t " |
2984 | "%i, l %i \n", SCSI_BUS_32(cmd), | 2984 | "%i, l %i \n", SCSI_BUS_32(cmd), |
@@ -3250,6 +3250,8 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp) | |||
3250 | 3250 | ||
3251 | /* Load continuation entry data segments. */ | 3251 | /* Load continuation entry data segments. */ |
3252 | for_each_sg(sg, s, remseg, cnt) { | 3252 | for_each_sg(sg, s, remseg, cnt) { |
3253 | if (cnt == 7) | ||
3254 | break; | ||
3253 | *dword_ptr++ = | 3255 | *dword_ptr++ = |
3254 | cpu_to_le32(pci_dma_lo32(sg_dma_address(s))); | 3256 | cpu_to_le32(pci_dma_lo32(sg_dma_address(s))); |
3255 | *dword_ptr++ = | 3257 | *dword_ptr++ = |
@@ -3260,6 +3262,7 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp) | |||
3260 | cpu_to_le32(pci_dma_lo32(sg_dma_address(s))), | 3262 | cpu_to_le32(pci_dma_lo32(sg_dma_address(s))), |
3261 | cpu_to_le32(sg_dma_len(s))); | 3263 | cpu_to_le32(sg_dma_len(s))); |
3262 | } | 3264 | } |
3265 | remseg -= cnt; | ||
3263 | dprintk(5, "qla1280_32bit_start_scsi: " | 3266 | dprintk(5, "qla1280_32bit_start_scsi: " |
3264 | "continuation packet data - " | 3267 | "continuation packet data - " |
3265 | "scsi(%i:%i:%i)\n", SCSI_BUS_32(cmd), | 3268 | "scsi(%i:%i:%i)\n", SCSI_BUS_32(cmd), |