treewide: Use array_size() in vmalloc()
[sfrench/cifs-2.6.git] / drivers / media / v4l2-core / videobuf-dma-sg.c
index 7770034aae28922520a1eebeeaff1585a79e62ae..314abde9a9223b42912a556fd2028ff4557988f0 100644 (file)
@@ -100,7 +100,7 @@ static struct scatterlist *videobuf_pages_to_sg(struct page **pages,
 
        if (NULL == pages[0])
                return NULL;
-       sglist = vmalloc(nr_pages * sizeof(*sglist));
+       sglist = vmalloc(array_size(nr_pages, sizeof(*sglist)));
        if (NULL == sglist)
                return NULL;
        sg_init_table(sglist, nr_pages);
@@ -175,7 +175,8 @@ static int videobuf_dma_init_user_locked(struct videobuf_dmabuf *dma,
        dma->offset = data & ~PAGE_MASK;
        dma->size = size;
        dma->nr_pages = last-first+1;
-       dma->pages = kmalloc(dma->nr_pages * sizeof(struct page *), GFP_KERNEL);
+       dma->pages = kmalloc_array(dma->nr_pages, sizeof(struct page *),
+                                  GFP_KERNEL);
        if (NULL == dma->pages)
                return -ENOMEM;
 
@@ -334,7 +335,7 @@ int videobuf_dma_unmap(struct device *dev, struct videobuf_dmabuf *dma)
        if (!dma->sglen)
                return 0;
 
-       dma_unmap_sg(dev, dma->sglist, dma->sglen, dma->direction);
+       dma_unmap_sg(dev, dma->sglist, dma->nr_pages, dma->direction);
 
        vfree(dma->sglist);
        dma->sglist = NULL;
@@ -434,7 +435,7 @@ static void videobuf_vm_close(struct vm_area_struct *vma)
  * now ...).  Bounce buffers don't work very well for the data rates
  * video capture has.
  */
-static int videobuf_vm_fault(struct vm_fault *vmf)
+static vm_fault_t videobuf_vm_fault(struct vm_fault *vmf)
 {
        struct vm_area_struct *vma = vmf->vma;
        struct page *page;
@@ -581,7 +582,7 @@ static int __videobuf_sync(struct videobuf_queue *q,
        MAGIC_CHECK(mem->dma.magic, MAGIC_DMABUF);
 
        dma_sync_sg_for_cpu(q->dev, mem->dma.sglist,
-                           mem->dma.sglen, mem->dma.direction);
+                           mem->dma.nr_pages, mem->dma.direction);
 
        return 0;
 }