V4L/DVB (13165): videobuf do not force buffer size to be multiple of PAGE_SIZE
[safe/jmp/linux-2.6] / drivers / media / video / videobuf-dma-sg.c
index 032ebae..a583d39 100644 (file)
@@ -588,7 +588,7 @@ static int __videobuf_mmap_mapper(struct videobuf_queue *q,
                        retval = -EBUSY;
                        goto done;
                }
-               size += q->bufs[last]->bsize;
+               size += PAGE_ALIGN(q->bufs[last]->bsize);
                if (size == (vma->vm_end - vma->vm_start))
                        break;
        }
@@ -610,7 +610,7 @@ static int __videobuf_mmap_mapper(struct videobuf_queue *q,
                        continue;
                q->bufs[i]->map   = map;
                q->bufs[i]->baddr = vma->vm_start + size;
-               size += q->bufs[i]->bsize;
+               size += PAGE_ALIGN(q->bufs[i]->bsize);
        }
 
        map->count    = 1;