[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [x86_64] 2.6.14-git13 mplayer fails with "v4l2: ioctl queue buffer failed: Bad address" (2 Nov 2005, 11 Nov 2005)

Hello all.

We have even found the hack that fix that problem:

Index: linux/drivers/media/video/video-buf.c
RCS file: /cvs/video4linux/v4l-kernel/linux/drivers/media/video/video-buf.c,v
retrieving revision 1.21
diff -u -p -r1.21 video-buf.c
--- linux/drivers/media/video/video-buf.c       16 Oct 2005 12:13:58 -0000
+++ linux/drivers/media/video/video-buf.c       12 Nov 2005 22:19:13 -0000
@@ -1248,7 +1248,7 @@ int videobuf_mmap_mapper(struct videobuf
        map->end      = vma->vm_end;
        map->q        = q;
        vma->vm_ops   = &videobuf_vm_ops;
-       vma->vm_flags |= VM_DONTEXPAND | VM_RESERVED;
+       vma->vm_flags |= VM_DONTEXPAND;
        vma->vm_flags &= ~VM_IO; /* using shared anonymous pages */
        vma->vm_private_data = map;
        dprintk(1,"mmap %p: q=%p %08lx-%08lx pgoff %08lx bufs %d-%d\n",

Somehow since 2.6.15-rc1 VM_RESERVED makes get_user_pages return EFAULT. I don't know the exact reason of
that behavior and the correct way to fix that problem. Just kernel interfaces changed once again, the old
point everyone knows. So if someone can explain it, that would be helpful.

Reply to: