diff options
Diffstat (limited to 'drivers/media/video/video-buf.c')
-rw-r--r-- | drivers/media/video/video-buf.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/video/video-buf.c b/drivers/media/video/video-buf.c index f429f49901b9..6504a5866849 100644 --- a/drivers/media/video/video-buf.c +++ b/drivers/media/video/video-buf.c | |||
@@ -700,6 +700,7 @@ videobuf_qbuf(struct videobuf_queue *q, | |||
700 | goto done; | 700 | goto done; |
701 | } | 701 | } |
702 | if (buf->state == STATE_QUEUED || | 702 | if (buf->state == STATE_QUEUED || |
703 | buf->state == STATE_PREPARED || | ||
703 | buf->state == STATE_ACTIVE) { | 704 | buf->state == STATE_ACTIVE) { |
704 | dprintk(1,"qbuf: buffer is already queued or active.\n"); | 705 | dprintk(1,"qbuf: buffer is already queued or active.\n"); |
705 | goto done; | 706 | goto done; |
@@ -1229,7 +1230,7 @@ videobuf_vm_nopage(struct vm_area_struct *vma, unsigned long vaddr, | |||
1229 | vaddr,vma->vm_start,vma->vm_end); | 1230 | vaddr,vma->vm_start,vma->vm_end); |
1230 | if (vaddr > vma->vm_end) | 1231 | if (vaddr > vma->vm_end) |
1231 | return NOPAGE_SIGBUS; | 1232 | return NOPAGE_SIGBUS; |
1232 | page = alloc_page(GFP_USER); | 1233 | page = alloc_page(GFP_USER | __GFP_DMA32); |
1233 | if (!page) | 1234 | if (!page) |
1234 | return NOPAGE_OOM; | 1235 | return NOPAGE_OOM; |
1235 | clear_user_page(page_address(page), vaddr, page); | 1236 | clear_user_page(page_address(page), vaddr, page); |