]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blobdiff - drivers/scsi/pmcraid.c
scsi: pmcraid: use sg helper to iterate over scatterlist
[mirror_ubuntu-eoan-kernel.git] / drivers / scsi / pmcraid.c
index e338d7a4f57153facf21a65b3dd8ef0c6ba0da80..286cac59cb5fc14876413d699c21c7ac9f74aad5 100644 (file)
@@ -3270,7 +3270,7 @@ static int pmcraid_copy_sglist(
        int direction
 )
 {
-       struct scatterlist *scatterlist;
+       struct scatterlist *sg;
        void *kaddr;
        int bsize_elem;
        int i;
@@ -3279,10 +3279,10 @@ static int pmcraid_copy_sglist(
        /* Determine the actual number of bytes per element */
        bsize_elem = PAGE_SIZE * (1 << sglist->order);
 
-       scatterlist = sglist->scatterlist;
+       sg = sglist->scatterlist;
 
-       for (i = 0; i < (len / bsize_elem); i++, buffer += bsize_elem) {
-               struct page *page = sg_page(&scatterlist[i]);
+       for (i = 0; i < (len / bsize_elem); i++, sg = sg_next(sg), buffer += bsize_elem) {
+               struct page *page = sg_page(sg);
 
                kaddr = kmap(page);
                if (direction == DMA_TO_DEVICE)
@@ -3297,11 +3297,11 @@ static int pmcraid_copy_sglist(
                        return -EFAULT;
                }
 
-               scatterlist[i].length = bsize_elem;
+               sg->length = bsize_elem;
        }
 
        if (len % bsize_elem) {
-               struct page *page = sg_page(&scatterlist[i]);
+               struct page *page = sg_page(sg);
 
                kaddr = kmap(page);
 
@@ -3312,7 +3312,7 @@ static int pmcraid_copy_sglist(
 
                kunmap(page);
 
-               scatterlist[i].length = len % bsize_elem;
+               sg->length = len % bsize_elem;
        }
 
        if (rc) {