Hi Hans, On 06/05/2015 08:11 AM, Hans Verkuil wrote: > Hi Ezequiel, > > As mentioned in irc: run v4l2-compliance -s and v4l2-compliance -f. > I quickly tried it and v4l2-compliance fails: > > Test input 0: > > Control ioctls: > test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK > test VIDIOC_QUERYCTRL: OK > test VIDIOC_G/S_CTRL: OK > test VIDIOC_G/S/TRY_EXT_CTRLS: OK > test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK > test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) > Standard Controls: 7 Private Controls: 0 > > Format ioctls: > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK > test VIDIOC_G/S_PARM: OK > test VIDIOC_G_FBUF: OK (Not Supported) > test VIDIOC_G_FMT: OK > fail: v4l2-test-formats.cpp(422): !pix.width || !pix.height > fail: v4l2-test-formats.cpp(726): Video Capture is valid, but TRY_FMT failed to return a format > test VIDIOC_TRY_FMT: FAIL > fail: v4l2-test-formats.cpp(422): !pix.width || !pix.height > fail: v4l2-test-formats.cpp(942): Video Capture is valid, but no S_FMT was implemented > test VIDIOC_S_FMT: FAIL > test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) > test Cropping: OK (Not Supported) > test Composing: OK (Not Supported) > > and it ends with a segfault and this in the kernel log: > > [ 180.135178] stk1160: width 720, height 480 > [ 180.135187] stk1160: width 0, height 0 > [ 180.135240] stk1160: width 0, height 0 > [ 180.135317] stk1160: decimate 0x1f, column units -721, row units -481 > [ 180.135450] stk1160: width 1, height 1 > [ 180.135524] stk1160: decimate 0x1f, column units 719, row units 479 > [ 180.135572] stk1160: width 720, height 480 > [ 180.135701] stk1160: decimate 0x10, column units 0, row units 0 > [ 180.135750] divide error: 0000 [#1] PREEMPT SMP > [ 180.135773] Modules linked in: stk1160 ivtv_alsa tuner_simple tuner_types tda9887 tda8290 tuner msp3400 saa7127 ivtv saa7115 videobuf2_vmalloc tveeprom videobuf2_memops videobuf2_core cx2341x v4l2_common videodev media x86_pkg_temp_thermal processor button [last unloaded: stk1160] > [ 180.135851] CPU: 2 PID: 7391 Comm: v4l2-compliance Not tainted 4.1.0-rc3-koryphon #837 > [ 180.135862] Hardware name: ASUSTeK COMPUTER INC. Z10PA-U8 Series/Z10PA-U8 Series, BIOS 0303 11/20/2014 > [ 180.135873] task: ffff8810364b1830 ti: ffff88100c794000 task.ti: ffff88100c794000 > [ 180.135882] RIP: 0010:[<ffffffffa003ed9a>] [<ffffffffa003ed9a>] stk1160_try_fmt.isra.5+0x1ba/0x1e0 [stk1160] > [ 180.135902] RSP: 0018:ffff88100c797bd8 EFLAGS: 00010202 > [ 180.135910] RAX: 00000000000002d0 RBX: 0000000000000000 RCX: ffff88100c797c14 > [ 180.135918] RDX: 0000000000000000 RSI: ffff8810364107c0 RDI: 00000000000001e0 > [ 180.135927] RBP: ffff88100c797bf8 R08: ffff881036537500 R09: 00000000000001e0 > [ 180.135939] R10: 0000000000000000 R11: 0000000000000005 R12: 0000000000000000 > [ 180.135948] R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000 > [ 180.135958] FS: 00007f7acbad8740(0000) GS:ffff88107fc80000(0000) knlGS:0000000000000000 > [ 180.135968] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 180.135975] CR2: 00007faa881e4148 CR3: 000000102974d000 CR4: 00000000001406e0 > [ 180.135984] Stack: > [ 180.136003] ffff881036410000 0000000000000000 ffff881036537500 ffff881036536c00 > [ 180.136018] ffff88100c797c48 ffffffffa003ee4b ffff88100c797c58 ffff000081a0dbc2 > [ 180.136033] 0000000100000001 0000000000000000 ffff88100c797c48 ffff881036537500 > [ 180.136048] Call Trace: > [ 180.136057] [<ffffffffa003ee4b>] vidioc_s_fmt_vid_cap+0x4b/0xf0 [stk1160] > [ 180.136073] [<ffffffffa074e163>] v4l_s_fmt+0x123/0x490 [videodev] > [ 180.136086] [<ffffffffa074d294>] __video_do_ioctl+0x274/0x310 [videodev] > [ 180.136099] [<ffffffffa074ee4a>] ? video_usercopy+0x2fa/0x4c0 [videodev] > [ 180.136111] [<ffffffffa074ee86>] video_usercopy+0x336/0x4c0 [videodev] > [ 180.136122] [<ffffffffa074d020>] ? v4l_querycap+0x60/0x60 [videodev] > [ 180.136135] [<ffffffff813dea63>] ? __this_cpu_preempt_check+0x13/0x20 > [ 180.136146] [<ffffffff810d325f>] ? __srcu_read_lock+0x5f/0xa0 > [ 180.136157] [<ffffffffa074f020>] video_ioctl2+0x10/0x20 [videodev] > [ 180.136168] [<ffffffffa07486a0>] v4l2_ioctl+0xd0/0xf0 [videodev] > [ 180.136179] [<ffffffff8118fc60>] do_vfs_ioctl+0x2e0/0x4e0 > [ 180.136187] [<ffffffff8117bccc>] ? vfs_write+0x14c/0x1b0 > [ 180.136196] [<ffffffff8118fee1>] SyS_ioctl+0x81/0xa0 > [ 180.136208] [<ffffffff81a1266e>] system_call_fastpath+0x12/0x71 > [ 180.136216] Code: 31 d2 41 89 c1 41 89 40 0c e9 d0 fe ff ff 0f 1f 00 44 89 d0 41 be 01 00 00 00 45 31 ed c1 e8 1f 44 01 d0 d1 f8 05 d0 02 00 00 99 <41> f7 fa 31 d2 41 89 c2 44 8d 60 ff b8 d0 02 00 00 41 f7 f2 41 > [ 180.136354] RIP [<ffffffffa003ed9a>] stk1160_try_fmt.isra.5+0x1ba/0x1e0 [stk1160] > [ 180.136366] RSP <ffff88100c797bd8> > [ 180.139977] ---[ end trace a699ade0cf2b43de ]--- > > So this needs a bit more work... Remember: v4l2-compliance is your friend! :-) > Indeed, sorry about that. > I didn't review the patch, this should be fixed first. > > BTW, I noticed that this driver is logging a lot in the kernel log. Normal > operation of a driver shouldn't log anything, so can you fix this while you're > at it? > Done. Thanks a lot for the feedback, -- Ezequiel Garcia, VanguardiaSur www.vanguardiasur.com.ar -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html