aic94xx: sg chaining support
authorJens Axboe <jens.axboe@oracle.com>
Wed, 9 May 2007 11:18:54 +0000 (13:18 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 16 Oct 2007 09:14:18 +0000 (11:14 +0200)
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
drivers/scsi/aic94xx/aic94xx_task.c

index f2b23e01401ad95b825b73c8c0648edc2c09b874..ee0a98bffcd4c0fec572afd6e67e707c4ddb1cca 100644 (file)
@@ -94,7 +94,7 @@ static inline int asd_map_scatterlist(struct sas_task *task,
                        res = -ENOMEM;
                        goto err_unmap;
                }
-               for (sc = task->scatter, i = 0; i < num_sg; i++, sc++) {
+               for_each_sg(task->scatter, sc, num_sg, i) {
                        struct sg_el *sg =
                                &((struct sg_el *)ascb->sg_arr->vaddr)[i];
                        sg->bus_addr = cpu_to_le64((u64)sg_dma_address(sc));
@@ -103,7 +103,7 @@ static inline int asd_map_scatterlist(struct sas_task *task,
                                sg->flags |= ASD_SG_EL_LIST_EOL;
                }
 
-               for (sc = task->scatter, i = 0; i < 2; i++, sc++) {
+               for_each_sg(task->scatter, sc, 2, i) {
                        sg_arr[i].bus_addr =
                                cpu_to_le64((u64)sg_dma_address(sc));
                        sg_arr[i].size = cpu_to_le32((u32)sg_dma_len(sc));
@@ -115,7 +115,7 @@ static inline int asd_map_scatterlist(struct sas_task *task,
                sg_arr[2].bus_addr=cpu_to_le64((u64)ascb->sg_arr->dma_handle);
        } else {
                int i;
-               for (sc = task->scatter, i = 0; i < num_sg; i++, sc++) {
+               for_each_sg(task->scatter, sc, num_sg, i) {
                        sg_arr[i].bus_addr =
                                cpu_to_le64((u64)sg_dma_address(sc));
                        sg_arr[i].size = cpu_to_le32((u32)sg_dma_len(sc));