Latest working kernel version: ? Earliest failing kernel version: 2.6.25 Distribution: Debian Hardware Environment: Software Environment: Problem Description: BUG: sleeping function called from invalid context at kernel/sched.c:4201 in_atomic():1, irqs_disabled():1 2 locks held by gqcam/3744: #0: (&q->vb_lock){--..}, at: [<f8d3788a>] videobuf_read_stream+0x4a/0x230 [videobuf_core] #1: (&dev->slock){....}, at: [<f8d36d9c>] __videobuf_read_start+0xdc/0x130 [videobuf_core] irq event stamp: 9276 hardirqs last enabled at (9275): [<c015f065>] get_page_from_freelist+0x2a5/0x4a0 hardirqs last disabled at (9276): [<c0302fb6>] _spin_lock_irqsave+0x16/0x60 softirqs last enabled at (9186): [<c01239ab>] __do_softirq+0xab/0xc0 softirqs last disabled at (9179): [<c0123a15>] do_softirq+0x55/0x60 Pid: 3744, comm: gqcam Not tainted 2.6.25 #2 [<c0118337>] __might_sleep+0xc7/0xf0 [<c03007ae>] wait_for_common+0x1e/0x140 [<c0300962>] wait_for_completion+0x12/0x20 [<c01318c0>] kthread_create+0x70/0xa0 [<f8d1f5b0>] ? vivi_thread+0x0/0x8e0 [vivi] [<f8d1f53c>] vivi_start_thread+0x5c/0xd0 [vivi] [<f8d1f5b0>] ? vivi_thread+0x0/0x8e0 [vivi] [<f8d20720>] buffer_queue+0x150/0x1c0 [vivi] [<f8d36db9>] __videobuf_read_start+0xf9/0x130 [videobuf_core] [<f8d37a33>] videobuf_read_stream+0x1f3/0x230 [videobuf_core] [<c02fb9ef>] ? __up+0x1f/0x30 [<f8d200d5>] vivi_read+0x55/0x70 [vivi] [<c017b7f4>] vfs_read+0x94/0x130 [<f8d20080>] ? vivi_read+0x0/0x70 [vivi] [<c017bbfd>] sys_read+0x3d/0x70 [<c010411e>] sysenter_past_esp+0x5f/0xa5 ======================= Steps to reproduce: $ su # modprobe -k vivi debug=2 # exit $ gqcam -v /dev/video0 Segmentation fault $ gqcam --version gqcam version 0.9.1
Created attachment 16012 [details] .config configuration of the Linux kernel
Created attachment 16013 [details] full dmesg
This looks like a bug in gqcam. bt with debug symbols posted here: https://bugs.launchpad.net/ubuntu/+source/gqcam/+bug/293248