diff options
Diffstat (limited to 'drivers/scsi/sata_qstor.c')
-rw-r--r-- | drivers/scsi/sata_qstor.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/scsi/sata_qstor.c b/drivers/scsi/sata_qstor.c index d95a02fa7af..8c20229b01b 100644 --- a/drivers/scsi/sata_qstor.c +++ b/drivers/scsi/sata_qstor.c | |||
@@ -270,16 +270,17 @@ static void qs_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val) | |||
270 | 270 | ||
271 | static void qs_fill_sg(struct ata_queued_cmd *qc) | 271 | static void qs_fill_sg(struct ata_queued_cmd *qc) |
272 | { | 272 | { |
273 | struct scatterlist *sg = qc->sg; | 273 | struct scatterlist *sg; |
274 | struct ata_port *ap = qc->ap; | 274 | struct ata_port *ap = qc->ap; |
275 | struct qs_port_priv *pp = ap->private_data; | 275 | struct qs_port_priv *pp = ap->private_data; |
276 | unsigned int nelem; | 276 | unsigned int nelem; |
277 | u8 *prd = pp->pkt + QS_CPB_BYTES; | 277 | u8 *prd = pp->pkt + QS_CPB_BYTES; |
278 | 278 | ||
279 | assert(sg != NULL); | 279 | assert(qc->__sg != NULL); |
280 | assert(qc->n_elem > 0); | 280 | assert(qc->n_elem > 0); |
281 | 281 | ||
282 | for (nelem = 0; nelem < qc->n_elem; nelem++,sg++) { | 282 | nelem = 0; |
283 | ata_for_each_sg(sg, qc) { | ||
283 | u64 addr; | 284 | u64 addr; |
284 | u32 len; | 285 | u32 len; |
285 | 286 | ||
@@ -293,6 +294,7 @@ static void qs_fill_sg(struct ata_queued_cmd *qc) | |||
293 | 294 | ||
294 | VPRINTK("PRD[%u] = (0x%llX, 0x%X)\n", nelem, | 295 | VPRINTK("PRD[%u] = (0x%llX, 0x%X)\n", nelem, |
295 | (unsigned long long)addr, len); | 296 | (unsigned long long)addr, len); |
297 | nelem++; | ||
296 | } | 298 | } |
297 | } | 299 | } |
298 | 300 | ||