diff options
Diffstat (limited to 'drivers/media/video/video-buf.c')
-rw-r--r-- | drivers/media/video/video-buf.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/video/video-buf.c b/drivers/media/video/video-buf.c index 6504a586684..459786ff459 100644 --- a/drivers/media/video/video-buf.c +++ b/drivers/media/video/video-buf.c | |||
@@ -148,6 +148,8 @@ int videobuf_dma_init_user(struct videobuf_dmabuf *dma, int direction, | |||
148 | dprintk(1,"init user [0x%lx+0x%lx => %d pages]\n", | 148 | dprintk(1,"init user [0x%lx+0x%lx => %d pages]\n", |
149 | data,size,dma->nr_pages); | 149 | data,size,dma->nr_pages); |
150 | 150 | ||
151 | dma->varea = (void *) data; | ||
152 | |||
151 | down_read(¤t->mm->mmap_sem); | 153 | down_read(¤t->mm->mmap_sem); |
152 | err = get_user_pages(current,current->mm, | 154 | err = get_user_pages(current,current->mm, |
153 | data & PAGE_MASK, dma->nr_pages, | 155 | data & PAGE_MASK, dma->nr_pages, |
@@ -285,6 +287,7 @@ int videobuf_dma_free(struct videobuf_dmabuf *dma) | |||
285 | 287 | ||
286 | vfree(dma->vmalloc); | 288 | vfree(dma->vmalloc); |
287 | dma->vmalloc = NULL; | 289 | dma->vmalloc = NULL; |
290 | dma->varea = NULL; | ||
288 | 291 | ||
289 | if (dma->bus_addr) { | 292 | if (dma->bus_addr) { |
290 | dma->bus_addr = 0; | 293 | dma->bus_addr = 0; |