* em28xx vb2 warnings @ 2014-07-25 16:20 Frank Schäfer 2014-07-25 19:07 ` Hans Verkuil 2014-07-28 15:27 ` Hans Verkuil 0 siblings, 2 replies; 6+ messages in thread From: Frank Schäfer @ 2014-07-25 16:20 UTC (permalink / raw) To: Hans Verkuil; +Cc: Linux Media Mailing List Hi Hans, I'm getting the following warnings with the em28xx driver on streaming stop: [ 7597.346168] WARNING: CPU: 1 PID: 3730 at drivers/media/v4l2-core/videobuf2-core.c:2126 __vb2_queue_cancel+0xf5/0x150 [videobuf2_core]() [ 7597.346171] Modules linked in: em28xx_rc snd_usb_audio ov2640 soc_camera soc_mediabus em28xx_v4l videobuf2_core videobuf2_vmalloc videobuf2_memops snd_usbmidi_lib snd_rawmidi em28xx xt_pkttype xt_LOG xt_limit bnep af_packet bluetooth ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw ipt_REJECT iptable_raw xt_CT iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables rc_hauppauge ir_kbd_i2c arc4 tuner_simple tuner_types rtl8187 mac80211 tda9887 fuse tda8290 snd_hda_codec_analog tuner snd_hda_codec_hdmi snd_hda_codec_generic sr_mod cdrom snd_hda_intel snd_hda_controller snd_hda_codec msp3400 snd_hwdep cfg80211 bttv snd_pcm v4l2_common snd_seq ppdev powernow_k8 [ 7597.346230] snd_timer snd_seq_device pcspkr videodev serio_raw snd firewire_ohci firewire_core k8temp rfkill eeprom_93cx6 i2c_nforce2 usb_storage videobuf_dma_sg videobuf_core btcx_risc pata_jmicron rc_core usblp soundcore forcedeth crc_itu_t tveeprom ata_generic floppy sata_nv pata_amd asus_atk0110 parport_pc parport button sg dm_mod autofs4 radeon ttm drm_kms_helper drm fan thermal processor thermal_sys i2c_algo_bit scsi_dh_hp_sw scsi_dh_emc scsi_dh_rdac scsi_dh_alua scsi_dh [ 7597.346268] CPU: 1 PID: 3730 Comm: qv4l2 Tainted: G W 3.16.0-rc6-0.1-desktop+ #18 [ 7597.346271] Hardware name: System manufacturer System Product Name [...] [ 7597.346273] 00000000 00000000 e09d9d3c c0780b62 00000000 e09d9d6c c0243359 c091deec [ 7597.346279] 00000001 00000e92 f870a4a4 0000084e f87054e5 f87054e5 e6905040 e2f61640 [ 7597.346285] ef85f4c8 e09d9d7c c02433ed 00000009 00000000 e09d9d94 f87054e5 e2ef6550 [ 7597.346290] Call Trace: [ 7597.346300] [<c0780b62>] dump_stack+0x48/0x69 [ 7597.346305] [<c0243359>] warn_slowpath_common+0x79/0x90 [ 7597.346312] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 [videobuf2_core] [ 7597.346318] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 [videobuf2_core] [ 7597.346322] [<c02433ed>] warn_slowpath_null+0x1d/0x20 [ 7597.346327] [<f87054e5>] __vb2_queue_cancel+0xf5/0x150 [videobuf2_core] [ 7597.346333] [<f8706b35>] vb2_internal_streamoff+0x35/0x90 [videobuf2_core] [ 7597.346338] [<c04b7cbb>] ? _copy_from_user+0x3b/0x50 [ 7597.346344] [<f8706bc5>] vb2_streamoff+0x35/0x60 [videobuf2_core] [ 7597.346350] [<c0699433>] ? __sys_recvmsg+0x43/0x70 [ 7597.346356] [<f8706c27>] vb2_ioctl_streamoff+0x37/0x40 [videobuf2_core] [ 7597.346371] [<f7c56805>] v4l_streamoff+0x15/0x20 [videodev] [ 7597.346382] [<f7c5962c>] __video_do_ioctl+0x1fc/0x280 [videodev] [ 7597.346394] [<f7c5908e>] video_usercopy+0x1ce/0x550 [videodev] [ 7597.346399] [<c038aac7>] ? fsnotify+0x1e7/0x2b0 [ 7597.346410] [<f7c59422>] video_ioctl2+0x12/0x20 [videodev] [ 7597.346421] [<f7c59430>] ? video_ioctl2+0x20/0x20 [videodev] [ 7597.346430] [<f7c55615>] v4l2_ioctl+0xe5/0x120 [videodev] [ 7597.346439] [<f7c55530>] ? v4l2_open+0xf0/0xf0 [videodev] [ 7597.346443] [<c03668e2>] do_vfs_ioctl+0x2e2/0x4d0 [ 7597.346449] [<c0356a3c>] ? vfs_write+0x13c/0x1c0 [ 7597.346452] [<c03575df>] ? vfs_writev+0x2f/0x50 [ 7597.346455] [<c0366b28>] SyS_ioctl+0x58/0x80 [ 7597.346460] [<c07870ec>] sysenter_do_call+0x12/0x16 [ 7597.346463] ---[ end trace 16421a251cba8f63 ]--- There have been quite a few vb2 changes recently. Any idea what's wrong ? Could you take a look at this ? Regards, Frank ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: em28xx vb2 warnings 2014-07-25 16:20 em28xx vb2 warnings Frank Schäfer @ 2014-07-25 19:07 ` Hans Verkuil 2014-07-27 21:17 ` Frank Schäfer 2014-07-28 15:27 ` Hans Verkuil 1 sibling, 1 reply; 6+ messages in thread From: Hans Verkuil @ 2014-07-25 19:07 UTC (permalink / raw) To: Frank Schäfer; +Cc: Linux Media Mailing List On 07/25/2014 06:20 PM, Frank Schäfer wrote: > Hi Hans, > > I'm getting the following warnings with the em28xx driver on streaming stop: > > [ 7597.346168] WARNING: CPU: 1 PID: 3730 at > drivers/media/v4l2-core/videobuf2-core.c:2126 > __vb2_queue_cancel+0xf5/0x150 [videobuf2_core]() > [ 7597.346171] Modules linked in: em28xx_rc snd_usb_audio ov2640 > soc_camera soc_mediabus em28xx_v4l videobuf2_core videobuf2_vmalloc > videobuf2_memops snd_usbmidi_lib snd_rawmidi em28xx xt_pkttype xt_LOG > xt_limit bnep af_packet bluetooth ip6t_REJECT xt_tcpudp > nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw ipt_REJECT iptable_raw > xt_CT iptable_filter ip6table_mangle nf_conntrack_netbios_ns > nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables > xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables > rc_hauppauge ir_kbd_i2c arc4 tuner_simple tuner_types rtl8187 mac80211 > tda9887 fuse tda8290 snd_hda_codec_analog tuner snd_hda_codec_hdmi > snd_hda_codec_generic sr_mod cdrom snd_hda_intel snd_hda_controller > snd_hda_codec msp3400 snd_hwdep cfg80211 bttv snd_pcm v4l2_common > snd_seq ppdev powernow_k8 > [ 7597.346230] snd_timer snd_seq_device pcspkr videodev serio_raw snd > firewire_ohci firewire_core k8temp rfkill eeprom_93cx6 i2c_nforce2 > usb_storage videobuf_dma_sg videobuf_core btcx_risc pata_jmicron rc_core > usblp soundcore forcedeth crc_itu_t tveeprom ata_generic floppy sata_nv > pata_amd asus_atk0110 parport_pc parport button sg dm_mod autofs4 radeon > ttm drm_kms_helper drm fan thermal processor thermal_sys i2c_algo_bit > scsi_dh_hp_sw scsi_dh_emc scsi_dh_rdac scsi_dh_alua scsi_dh > [ 7597.346268] CPU: 1 PID: 3730 Comm: qv4l2 Tainted: G W > 3.16.0-rc6-0.1-desktop+ #18 > [ 7597.346271] Hardware name: System manufacturer System Product Name [...] > [ 7597.346273] 00000000 00000000 e09d9d3c c0780b62 00000000 e09d9d6c > c0243359 c091deec > [ 7597.346279] 00000001 00000e92 f870a4a4 0000084e f87054e5 f87054e5 > e6905040 e2f61640 > [ 7597.346285] ef85f4c8 e09d9d7c c02433ed 00000009 00000000 e09d9d94 > f87054e5 e2ef6550 > [ 7597.346290] Call Trace: > [ 7597.346300] [<c0780b62>] dump_stack+0x48/0x69 > [ 7597.346305] [<c0243359>] warn_slowpath_common+0x79/0x90 > [ 7597.346312] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 > [videobuf2_core] > [ 7597.346318] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 > [videobuf2_core] > [ 7597.346322] [<c02433ed>] warn_slowpath_null+0x1d/0x20 > [ 7597.346327] [<f87054e5>] __vb2_queue_cancel+0xf5/0x150 [videobuf2_core] > [ 7597.346333] [<f8706b35>] vb2_internal_streamoff+0x35/0x90 > [videobuf2_core] > [ 7597.346338] [<c04b7cbb>] ? _copy_from_user+0x3b/0x50 > [ 7597.346344] [<f8706bc5>] vb2_streamoff+0x35/0x60 [videobuf2_core] > [ 7597.346350] [<c0699433>] ? __sys_recvmsg+0x43/0x70 > [ 7597.346356] [<f8706c27>] vb2_ioctl_streamoff+0x37/0x40 [videobuf2_core] > [ 7597.346371] [<f7c56805>] v4l_streamoff+0x15/0x20 [videodev] > [ 7597.346382] [<f7c5962c>] __video_do_ioctl+0x1fc/0x280 [videodev] > [ 7597.346394] [<f7c5908e>] video_usercopy+0x1ce/0x550 [videodev] > [ 7597.346399] [<c038aac7>] ? fsnotify+0x1e7/0x2b0 > [ 7597.346410] [<f7c59422>] video_ioctl2+0x12/0x20 [videodev] > [ 7597.346421] [<f7c59430>] ? video_ioctl2+0x20/0x20 [videodev] > [ 7597.346430] [<f7c55615>] v4l2_ioctl+0xe5/0x120 [videodev] > [ 7597.346439] [<f7c55530>] ? v4l2_open+0xf0/0xf0 [videodev] > [ 7597.346443] [<c03668e2>] do_vfs_ioctl+0x2e2/0x4d0 > [ 7597.346449] [<c0356a3c>] ? vfs_write+0x13c/0x1c0 > [ 7597.346452] [<c03575df>] ? vfs_writev+0x2f/0x50 > [ 7597.346455] [<c0366b28>] SyS_ioctl+0x58/0x80 > [ 7597.346460] [<c07870ec>] sysenter_do_call+0x12/0x16 > [ 7597.346463] ---[ end trace 16421a251cba8f63 ]--- > > > There have been quite a few vb2 changes recently. > Any idea what's wrong ? Could you take a look at this ? What it means is that the driver appears not to have given back all buffers to the vb2 core. I do see that this doesn't happen in start_streaming if an error occurs there (queued buffers should be returned to state DEQUEUED in that case), but stop_streaming seems to return it perfectly fine. If in your test case start_streaming failed, then that would explain it. Enable the VIDEO_ADV_DEBUG config option which will dump an overview of the vb2 ops: mismatched counts should be reported. I'm not sure if I can test this this weekend: I have two em28xx devices, one is at work, the other is a Hauppauge 930C, but the analog support for that one is missing in the driver (even though it still creates a video node!). It will probably be Tuesday evening before I can test. Regards, Hans ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: em28xx vb2 warnings 2014-07-25 19:07 ` Hans Verkuil @ 2014-07-27 21:17 ` Frank Schäfer 2014-07-27 21:19 ` Hans Verkuil 0 siblings, 1 reply; 6+ messages in thread From: Frank Schäfer @ 2014-07-27 21:17 UTC (permalink / raw) To: Hans Verkuil; +Cc: Linux Media Mailing List Am 25.07.2014 21:07, schrieb Hans Verkuil: > On 07/25/2014 06:20 PM, Frank Schäfer wrote: >> Hi Hans, >> >> I'm getting the following warnings with the em28xx driver on streaming stop: >> >> [ 7597.346168] WARNING: CPU: 1 PID: 3730 at >> drivers/media/v4l2-core/videobuf2-core.c:2126 >> __vb2_queue_cancel+0xf5/0x150 [videobuf2_core]() >> [ 7597.346171] Modules linked in: em28xx_rc snd_usb_audio ov2640 >> soc_camera soc_mediabus em28xx_v4l videobuf2_core videobuf2_vmalloc >> videobuf2_memops snd_usbmidi_lib snd_rawmidi em28xx xt_pkttype xt_LOG >> xt_limit bnep af_packet bluetooth ip6t_REJECT xt_tcpudp >> nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw ipt_REJECT iptable_raw >> xt_CT iptable_filter ip6table_mangle nf_conntrack_netbios_ns >> nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables >> xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables >> rc_hauppauge ir_kbd_i2c arc4 tuner_simple tuner_types rtl8187 mac80211 >> tda9887 fuse tda8290 snd_hda_codec_analog tuner snd_hda_codec_hdmi >> snd_hda_codec_generic sr_mod cdrom snd_hda_intel snd_hda_controller >> snd_hda_codec msp3400 snd_hwdep cfg80211 bttv snd_pcm v4l2_common >> snd_seq ppdev powernow_k8 >> [ 7597.346230] snd_timer snd_seq_device pcspkr videodev serio_raw snd >> firewire_ohci firewire_core k8temp rfkill eeprom_93cx6 i2c_nforce2 >> usb_storage videobuf_dma_sg videobuf_core btcx_risc pata_jmicron rc_core >> usblp soundcore forcedeth crc_itu_t tveeprom ata_generic floppy sata_nv >> pata_amd asus_atk0110 parport_pc parport button sg dm_mod autofs4 radeon >> ttm drm_kms_helper drm fan thermal processor thermal_sys i2c_algo_bit >> scsi_dh_hp_sw scsi_dh_emc scsi_dh_rdac scsi_dh_alua scsi_dh >> [ 7597.346268] CPU: 1 PID: 3730 Comm: qv4l2 Tainted: G W >> 3.16.0-rc6-0.1-desktop+ #18 >> [ 7597.346271] Hardware name: System manufacturer System Product Name [...] >> [ 7597.346273] 00000000 00000000 e09d9d3c c0780b62 00000000 e09d9d6c >> c0243359 c091deec >> [ 7597.346279] 00000001 00000e92 f870a4a4 0000084e f87054e5 f87054e5 >> e6905040 e2f61640 >> [ 7597.346285] ef85f4c8 e09d9d7c c02433ed 00000009 00000000 e09d9d94 >> f87054e5 e2ef6550 >> [ 7597.346290] Call Trace: >> [ 7597.346300] [<c0780b62>] dump_stack+0x48/0x69 >> [ 7597.346305] [<c0243359>] warn_slowpath_common+0x79/0x90 >> [ 7597.346312] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 >> [videobuf2_core] >> [ 7597.346318] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 >> [videobuf2_core] >> [ 7597.346322] [<c02433ed>] warn_slowpath_null+0x1d/0x20 >> [ 7597.346327] [<f87054e5>] __vb2_queue_cancel+0xf5/0x150 [videobuf2_core] >> [ 7597.346333] [<f8706b35>] vb2_internal_streamoff+0x35/0x90 >> [videobuf2_core] >> [ 7597.346338] [<c04b7cbb>] ? _copy_from_user+0x3b/0x50 >> [ 7597.346344] [<f8706bc5>] vb2_streamoff+0x35/0x60 [videobuf2_core] >> [ 7597.346350] [<c0699433>] ? __sys_recvmsg+0x43/0x70 >> [ 7597.346356] [<f8706c27>] vb2_ioctl_streamoff+0x37/0x40 [videobuf2_core] >> [ 7597.346371] [<f7c56805>] v4l_streamoff+0x15/0x20 [videodev] >> [ 7597.346382] [<f7c5962c>] __video_do_ioctl+0x1fc/0x280 [videodev] >> [ 7597.346394] [<f7c5908e>] video_usercopy+0x1ce/0x550 [videodev] >> [ 7597.346399] [<c038aac7>] ? fsnotify+0x1e7/0x2b0 >> [ 7597.346410] [<f7c59422>] video_ioctl2+0x12/0x20 [videodev] >> [ 7597.346421] [<f7c59430>] ? video_ioctl2+0x20/0x20 [videodev] >> [ 7597.346430] [<f7c55615>] v4l2_ioctl+0xe5/0x120 [videodev] >> [ 7597.346439] [<f7c55530>] ? v4l2_open+0xf0/0xf0 [videodev] >> [ 7597.346443] [<c03668e2>] do_vfs_ioctl+0x2e2/0x4d0 >> [ 7597.346449] [<c0356a3c>] ? vfs_write+0x13c/0x1c0 >> [ 7597.346452] [<c03575df>] ? vfs_writev+0x2f/0x50 >> [ 7597.346455] [<c0366b28>] SyS_ioctl+0x58/0x80 >> [ 7597.346460] [<c07870ec>] sysenter_do_call+0x12/0x16 >> [ 7597.346463] ---[ end trace 16421a251cba8f63 ]--- >> >> >> There have been quite a few vb2 changes recently. >> Any idea what's wrong ? Could you take a look at this ? > What it means is that the driver appears not to have given back all > buffers to the vb2 core. I do see that this doesn't happen in > start_streaming if an error occurs there (queued buffers should be > returned to state DEQUEUED in that case), but stop_streaming seems to > return it perfectly fine. If in your test case start_streaming failed, > then that would explain it. No, streaming start doesn't fail. The test case is simple: start qv4l2, start streaming, stop streaming. > Enable the VIDEO_ADV_DEBUG config option which will dump an overview of > the vb2 ops: mismatched counts should be reported. I also enabled em28xx core_debug: ... [ 165.248346] usbcore: registered new interface driver em28xx [ 170.832072] usb 1-8: new high-speed USB device number 7 using ehci-pci [ 170.950968] usb 1-8: New USB device found, idVendor=2040, idProduct=4200 [ 170.950974] usb 1-8: New USB device strings: Mfr=0, Product=1, SerialNumber=2 [ 170.950976] usb 1-8: Product: WinTV USB2 [ 170.950979] usb 1-8: SerialNumber: 0000000000 [ 170.952094] em28xx: New device WinTV USB2 @ 480 Mbps (2040:4200, interface 0, class 0) [ 170.952098] em28xx: Video interface 0 found: bulk isoc [ 170.952212] em28xx: chip ID is em2840 [ 171.048588] em2840 #0: EEPROM ID = 1a eb 67 95, EEPROM hash = 0x8e8a4a62 [ 171.048593] em2840 #0: EEPROM info: [ 171.048595] em2840 #0: I2S audio, sample rate=32k [ 171.048596] em2840 #0: 500mA max power [ 171.048598] em2840 #0: Table at offset 0x24, strings=0x1882, 0x186a, 0x0000 [ 171.048600] em2840 #0: Identified as Hauppauge WinTV USB 2 (card=4) [ 171.064236] tveeprom 10-0050: Hauppauge model 42014, rev D197, serial# 8701574 [ 171.064241] tveeprom 10-0050: tuner model is TCL 2002MB_3H (idx 97, type 55) [ 171.064244] tveeprom 10-0050: TV standards PAL(B/G) PAL(D/D1/K) (eeprom 0x44) [ 171.064246] tveeprom 10-0050: audio processor is MSP3415 (idx 6) [ 171.064247] tveeprom 10-0050: has radio [ 171.064250] em2840 #0: analog set to isoc mode. [ 171.085149] em2840 #0: Registering V4L2 extension [ 171.172093] msp3400 10-0044: MSP3415G-B8 found @ 0x88 (em2840 #0) [ 171.172098] msp3400 10-0044: msp3400 supports nicam and radio, mode is autodetect and autoselect [ 171.219586] tvp5150 10-005c: chip found @ 0xb8 (em2840 #0) [ 171.219591] tvp5150 10-005c: tvp5150am1 detected. [ 171.291971] tuner 10-0063: Tuner -1 found with type(s) Radio TV. [ 171.293209] tuner-simple 10-0063: creating new instance [ 171.293214] tuner-simple 10-0063: type set to 55 (TCL 2002MB) [ 172.883164] em2840 #0: V4L2 video device registered as video1 [ 172.883171] em2840 #0: V4L2 extension successfully initialized [ 172.883173] em28xx: Registered (Em28xx v4l2 Extension) extension [ 172.891837] em2840 #0: Registering input extension [ 172.891848] Registered IR keymap rc-hauppauge [ 172.895911] input: em28xx IR (em2840 #0) as /devices/pci0000:00/0000:00:02.1/usb1/1-8/rc/rc1/input17 [ 172.898121] rc1: em28xx IR (em2840 #0) as /devices/pci0000:00/0000:00:02.1/usb1/1-8/rc/rc1 [ 172.898126] em2840 #0: Input extension successfully initalized [ 172.898129] em28xx: Registered (Em28xx Input Extension) extension [ 188.609360] em2840 #0 em28xx_init_usb_xfer :em28xx: called em28xx_init_usb_xfer in mode 1 [ 188.609371] em2840 #0 em28xx_alloc_urbs :em28xx: called em28xx_alloc_isoc in mode 1 [ 188.609376] em2840 #0 em28xx_uninit_usb_xfer :em28xx: called em28xx_uninit_usb_xfer in mode 1 [ 191.772707] em2840 #0 em28xx_uninit_usb_xfer :em28xx: called em28xx_uninit_usb_xfer in mode 1 [ 191.827705] ------------[ cut here ]------------ [ 191.827720] WARNING: CPU: 1 PID: 2802 at drivers/media/v4l2-core/videobuf2-core.c:2126 __vb2_queue_cancel+0x180/0x220 [videobuf2_core]() [ 191.827722] Modules linked in: em28xx_rc em28xx_v4l em28xx tvp5150 videobuf2_core videobuf2_vmalloc videobuf2_memops snd_usb_audio snd_usbmidi_lib snd_rawmidi xt_pkttype xt_LOG xt_limit bnep bluetooth af_packet ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw ipt_REJECT iptable_raw xt_CT iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables fuse arc4 rtl8187 mac80211 snd_hda_codec_analog snd_hda_codec_generic rc_hauppauge ir_kbd_i2c sr_mod cdrom snd_hda_codec_hdmi tuner_simple tuner_types tda9887 snd_hda_intel tda8290 tuner cfg80211 msp3400 ppdev snd_hda_controller rfkill eeprom_93cx6 snd_hda_codec bttv powernow_k8 firewire_ohci firewire_core serio_raw [ 191.827759] pcspkr k8temp usb_storage usblp pata_jmicron v4l2_common snd_hwdep snd_pcm snd_seq videodev videobuf_dma_sg crc_itu_t videobuf_core snd_timer btcx_risc snd_seq_device ata_generic snd forcedeth sata_nv pata_amd rc_core tveeprom i2c_nforce2 soundcore asus_atk0110 floppy parport_pc parport button sg dm_mod autofs4 radeon ttm drm_kms_helper drm processor thermal fan thermal_sys i2c_algo_bit scsi_dh_hp_sw scsi_dh_emc scsi_dh_rdac scsi_dh_alua scsi_dh [last unloaded: em28xx] [ 191.827788] CPU: 1 PID: 2802 Comm: qv4l2 Not tainted 3.16.0-rc6-0.1-desktop+ #2 [ 191.827790] Hardware name: System manufacturer System Product Name [...] [ 191.827792] 00000000 00000000 e73efd24 c0780b62 00000000 e73efd54 c0243359 c091deec [ 191.827796] 00000001 00000af2 f8c72a08 0000084e f8c6d4e0 f8c6d4e0 e0137f40 e52fe8c8 [ 191.827800] 00000001 e73efd64 c02433ed 00000009 00000000 e73efd94 f8c6d4e0 000000c3 [ 191.827805] Call Trace: [ 191.827811] [<c0780b62>] dump_stack+0x48/0x69 [ 191.827821] [<c0243359>] warn_slowpath_common+0x79/0x90 [ 191.827826] [<f8c6d4e0>] ? __vb2_queue_cancel+0x180/0x220 [videobuf2_core] [ 191.827831] [<f8c6d4e0>] ? __vb2_queue_cancel+0x180/0x220 [videobuf2_core] [ 191.827834] [<c02433ed>] warn_slowpath_null+0x1d/0x20 [ 191.827838] [<f8c6d4e0>] __vb2_queue_cancel+0x180/0x220 [videobuf2_core] [ 191.827842] [<c026e9e0>] ? wake_up_state+0x10/0x10 [ 191.827846] [<f8c6ddc5>] vb2_internal_streamoff+0x35/0x90 [videobuf2_core] [ 191.827850] [<c04b7cbb>] ? _copy_from_user+0x3b/0x50 [ 191.827854] [<f8c6de55>] vb2_streamoff+0x35/0x60 [videobuf2_core] [ 191.827859] [<c0699433>] ? __sys_recvmsg+0x43/0x70 [ 191.827863] [<f8c6deb7>] vb2_ioctl_streamoff+0x37/0x40 [videobuf2_core] [ 191.827876] [<f83aa815>] v4l_streamoff+0x15/0x20 [videodev] [ 191.827885] [<f83ad92c>] __video_do_ioctl+0x1fc/0x280 [videodev] [ 191.827894] [<f83ad38e>] video_usercopy+0x1ce/0x550 [videodev] [ 191.827899] [<c038aac7>] ? fsnotify+0x1e7/0x2b0 [ 191.827907] [<f83ad722>] video_ioctl2+0x12/0x20 [videodev] [ 191.827915] [<f83ad730>] ? video_ioctl2+0x20/0x20 [videodev] [ 191.827922] [<f83a9615>] v4l2_ioctl+0xe5/0x120 [videodev] [ 191.827930] [<f83a9530>] ? v4l2_open+0xf0/0xf0 [videodev] [ 191.827933] [<c03668e2>] do_vfs_ioctl+0x2e2/0x4d0 [ 191.827937] [<c0356a3c>] ? vfs_write+0x13c/0x1c0 [ 191.827939] [<c03575df>] ? vfs_writev+0x2f/0x50 [ 191.827942] [<c0366b28>] SyS_ioctl+0x58/0x80 [ 191.827945] [<c07870ec>] sysenter_do_call+0x12/0x16 [ 191.827948] ---[ end trace f29e276818570702 ]--- Regards, Frank > > I'm not sure if I can test this this weekend: I have two em28xx devices, > one is at work, the other is a Hauppauge 930C, but the analog support for > that one is missing in the driver (even though it still creates a video > node!). > > It will probably be Tuesday evening before I can test. > > Regards, > > Hans ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: em28xx vb2 warnings 2014-07-27 21:17 ` Frank Schäfer @ 2014-07-27 21:19 ` Hans Verkuil 0 siblings, 0 replies; 6+ messages in thread From: Hans Verkuil @ 2014-07-27 21:19 UTC (permalink / raw) To: Frank Schäfer; +Cc: Linux Media Mailing List On 07/27/2014 11:17 PM, Frank Schäfer wrote: > > Am 25.07.2014 21:07, schrieb Hans Verkuil: >> On 07/25/2014 06:20 PM, Frank Schäfer wrote: >>> Hi Hans, >>> >>> I'm getting the following warnings with the em28xx driver on streaming stop: >>> >>> [ 7597.346168] WARNING: CPU: 1 PID: 3730 at >>> drivers/media/v4l2-core/videobuf2-core.c:2126 >>> __vb2_queue_cancel+0xf5/0x150 [videobuf2_core]() >>> [ 7597.346171] Modules linked in: em28xx_rc snd_usb_audio ov2640 >>> soc_camera soc_mediabus em28xx_v4l videobuf2_core videobuf2_vmalloc >>> videobuf2_memops snd_usbmidi_lib snd_rawmidi em28xx xt_pkttype xt_LOG >>> xt_limit bnep af_packet bluetooth ip6t_REJECT xt_tcpudp >>> nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw ipt_REJECT iptable_raw >>> xt_CT iptable_filter ip6table_mangle nf_conntrack_netbios_ns >>> nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables >>> xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables >>> rc_hauppauge ir_kbd_i2c arc4 tuner_simple tuner_types rtl8187 mac80211 >>> tda9887 fuse tda8290 snd_hda_codec_analog tuner snd_hda_codec_hdmi >>> snd_hda_codec_generic sr_mod cdrom snd_hda_intel snd_hda_controller >>> snd_hda_codec msp3400 snd_hwdep cfg80211 bttv snd_pcm v4l2_common >>> snd_seq ppdev powernow_k8 >>> [ 7597.346230] snd_timer snd_seq_device pcspkr videodev serio_raw snd >>> firewire_ohci firewire_core k8temp rfkill eeprom_93cx6 i2c_nforce2 >>> usb_storage videobuf_dma_sg videobuf_core btcx_risc pata_jmicron rc_core >>> usblp soundcore forcedeth crc_itu_t tveeprom ata_generic floppy sata_nv >>> pata_amd asus_atk0110 parport_pc parport button sg dm_mod autofs4 radeon >>> ttm drm_kms_helper drm fan thermal processor thermal_sys i2c_algo_bit >>> scsi_dh_hp_sw scsi_dh_emc scsi_dh_rdac scsi_dh_alua scsi_dh >>> [ 7597.346268] CPU: 1 PID: 3730 Comm: qv4l2 Tainted: G W >>> 3.16.0-rc6-0.1-desktop+ #18 >>> [ 7597.346271] Hardware name: System manufacturer System Product Name [...] >>> [ 7597.346273] 00000000 00000000 e09d9d3c c0780b62 00000000 e09d9d6c >>> c0243359 c091deec >>> [ 7597.346279] 00000001 00000e92 f870a4a4 0000084e f87054e5 f87054e5 >>> e6905040 e2f61640 >>> [ 7597.346285] ef85f4c8 e09d9d7c c02433ed 00000009 00000000 e09d9d94 >>> f87054e5 e2ef6550 >>> [ 7597.346290] Call Trace: >>> [ 7597.346300] [<c0780b62>] dump_stack+0x48/0x69 >>> [ 7597.346305] [<c0243359>] warn_slowpath_common+0x79/0x90 >>> [ 7597.346312] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 >>> [videobuf2_core] >>> [ 7597.346318] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 >>> [videobuf2_core] >>> [ 7597.346322] [<c02433ed>] warn_slowpath_null+0x1d/0x20 >>> [ 7597.346327] [<f87054e5>] __vb2_queue_cancel+0xf5/0x150 [videobuf2_core] >>> [ 7597.346333] [<f8706b35>] vb2_internal_streamoff+0x35/0x90 >>> [videobuf2_core] >>> [ 7597.346338] [<c04b7cbb>] ? _copy_from_user+0x3b/0x50 >>> [ 7597.346344] [<f8706bc5>] vb2_streamoff+0x35/0x60 [videobuf2_core] >>> [ 7597.346350] [<c0699433>] ? __sys_recvmsg+0x43/0x70 >>> [ 7597.346356] [<f8706c27>] vb2_ioctl_streamoff+0x37/0x40 [videobuf2_core] >>> [ 7597.346371] [<f7c56805>] v4l_streamoff+0x15/0x20 [videodev] >>> [ 7597.346382] [<f7c5962c>] __video_do_ioctl+0x1fc/0x280 [videodev] >>> [ 7597.346394] [<f7c5908e>] video_usercopy+0x1ce/0x550 [videodev] >>> [ 7597.346399] [<c038aac7>] ? fsnotify+0x1e7/0x2b0 >>> [ 7597.346410] [<f7c59422>] video_ioctl2+0x12/0x20 [videodev] >>> [ 7597.346421] [<f7c59430>] ? video_ioctl2+0x20/0x20 [videodev] >>> [ 7597.346430] [<f7c55615>] v4l2_ioctl+0xe5/0x120 [videodev] >>> [ 7597.346439] [<f7c55530>] ? v4l2_open+0xf0/0xf0 [videodev] >>> [ 7597.346443] [<c03668e2>] do_vfs_ioctl+0x2e2/0x4d0 >>> [ 7597.346449] [<c0356a3c>] ? vfs_write+0x13c/0x1c0 >>> [ 7597.346452] [<c03575df>] ? vfs_writev+0x2f/0x50 >>> [ 7597.346455] [<c0366b28>] SyS_ioctl+0x58/0x80 >>> [ 7597.346460] [<c07870ec>] sysenter_do_call+0x12/0x16 >>> [ 7597.346463] ---[ end trace 16421a251cba8f63 ]--- >>> >>> >>> There have been quite a few vb2 changes recently. >>> Any idea what's wrong ? Could you take a look at this ? >> What it means is that the driver appears not to have given back all >> buffers to the vb2 core. I do see that this doesn't happen in >> start_streaming if an error occurs there (queued buffers should be >> returned to state DEQUEUED in that case), but stop_streaming seems to >> return it perfectly fine. If in your test case start_streaming failed, >> then that would explain it. > > No, streaming start doesn't fail. > The test case is simple: start qv4l2, start streaming, stop streaming. > > >> Enable the VIDEO_ADV_DEBUG config option which will dump an overview of >> the vb2 ops: mismatched counts should be reported. > > I also enabled em28xx core_debug: Sorry, it will have to wait until Tuesday when I have access to my em28xx device again. Regards, Hans ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: em28xx vb2 warnings 2014-07-25 16:20 em28xx vb2 warnings Frank Schäfer 2014-07-25 19:07 ` Hans Verkuil @ 2014-07-28 15:27 ` Hans Verkuil 2014-07-29 17:21 ` Frank Schäfer 1 sibling, 1 reply; 6+ messages in thread From: Hans Verkuil @ 2014-07-28 15:27 UTC (permalink / raw) To: Frank Schäfer; +Cc: Linux Media Mailing List On 07/25/2014 06:20 PM, Frank Schäfer wrote: > Hi Hans, > > I'm getting the following warnings with the em28xx driver on streaming stop: > > [ 7597.346168] WARNING: CPU: 1 PID: 3730 at > drivers/media/v4l2-core/videobuf2-core.c:2126 > __vb2_queue_cancel+0xf5/0x150 [videobuf2_core]() > [ 7597.346171] Modules linked in: em28xx_rc snd_usb_audio ov2640 > soc_camera soc_mediabus em28xx_v4l videobuf2_core videobuf2_vmalloc > videobuf2_memops snd_usbmidi_lib snd_rawmidi em28xx xt_pkttype xt_LOG > xt_limit bnep af_packet bluetooth ip6t_REJECT xt_tcpudp > nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw ipt_REJECT iptable_raw > xt_CT iptable_filter ip6table_mangle nf_conntrack_netbios_ns > nf_conntrack_broadcast nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables > xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables > rc_hauppauge ir_kbd_i2c arc4 tuner_simple tuner_types rtl8187 mac80211 > tda9887 fuse tda8290 snd_hda_codec_analog tuner snd_hda_codec_hdmi > snd_hda_codec_generic sr_mod cdrom snd_hda_intel snd_hda_controller > snd_hda_codec msp3400 snd_hwdep cfg80211 bttv snd_pcm v4l2_common > snd_seq ppdev powernow_k8 > [ 7597.346230] snd_timer snd_seq_device pcspkr videodev serio_raw snd > firewire_ohci firewire_core k8temp rfkill eeprom_93cx6 i2c_nforce2 > usb_storage videobuf_dma_sg videobuf_core btcx_risc pata_jmicron rc_core > usblp soundcore forcedeth crc_itu_t tveeprom ata_generic floppy sata_nv > pata_amd asus_atk0110 parport_pc parport button sg dm_mod autofs4 radeon > ttm drm_kms_helper drm fan thermal processor thermal_sys i2c_algo_bit > scsi_dh_hp_sw scsi_dh_emc scsi_dh_rdac scsi_dh_alua scsi_dh > [ 7597.346268] CPU: 1 PID: 3730 Comm: qv4l2 Tainted: G W > 3.16.0-rc6-0.1-desktop+ #18 > [ 7597.346271] Hardware name: System manufacturer System Product Name [...] > [ 7597.346273] 00000000 00000000 e09d9d3c c0780b62 00000000 e09d9d6c > c0243359 c091deec > [ 7597.346279] 00000001 00000e92 f870a4a4 0000084e f87054e5 f87054e5 > e6905040 e2f61640 > [ 7597.346285] ef85f4c8 e09d9d7c c02433ed 00000009 00000000 e09d9d94 > f87054e5 e2ef6550 > [ 7597.346290] Call Trace: > [ 7597.346300] [<c0780b62>] dump_stack+0x48/0x69 > [ 7597.346305] [<c0243359>] warn_slowpath_common+0x79/0x90 > [ 7597.346312] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 > [videobuf2_core] > [ 7597.346318] [<f87054e5>] ? __vb2_queue_cancel+0xf5/0x150 > [videobuf2_core] > [ 7597.346322] [<c02433ed>] warn_slowpath_null+0x1d/0x20 > [ 7597.346327] [<f87054e5>] __vb2_queue_cancel+0xf5/0x150 [videobuf2_core] > [ 7597.346333] [<f8706b35>] vb2_internal_streamoff+0x35/0x90 > [videobuf2_core] > [ 7597.346338] [<c04b7cbb>] ? _copy_from_user+0x3b/0x50 > [ 7597.346344] [<f8706bc5>] vb2_streamoff+0x35/0x60 [videobuf2_core] > [ 7597.346350] [<c0699433>] ? __sys_recvmsg+0x43/0x70 > [ 7597.346356] [<f8706c27>] vb2_ioctl_streamoff+0x37/0x40 [videobuf2_core] > [ 7597.346371] [<f7c56805>] v4l_streamoff+0x15/0x20 [videodev] > [ 7597.346382] [<f7c5962c>] __video_do_ioctl+0x1fc/0x280 [videodev] > [ 7597.346394] [<f7c5908e>] video_usercopy+0x1ce/0x550 [videodev] > [ 7597.346399] [<c038aac7>] ? fsnotify+0x1e7/0x2b0 > [ 7597.346410] [<f7c59422>] video_ioctl2+0x12/0x20 [videodev] > [ 7597.346421] [<f7c59430>] ? video_ioctl2+0x20/0x20 [videodev] > [ 7597.346430] [<f7c55615>] v4l2_ioctl+0xe5/0x120 [videodev] > [ 7597.346439] [<f7c55530>] ? v4l2_open+0xf0/0xf0 [videodev] > [ 7597.346443] [<c03668e2>] do_vfs_ioctl+0x2e2/0x4d0 > [ 7597.346449] [<c0356a3c>] ? vfs_write+0x13c/0x1c0 > [ 7597.346452] [<c03575df>] ? vfs_writev+0x2f/0x50 > [ 7597.346455] [<c0366b28>] SyS_ioctl+0x58/0x80 > [ 7597.346460] [<c07870ec>] sysenter_do_call+0x12/0x16 > [ 7597.346463] ---[ end trace 16421a251cba8f63 ]--- > > > There have been quite a few vb2 changes recently. > Any idea what's wrong ? Could you take a look at this ? OK, I looked at it: the problem is in get_next_buf() and finish_field_prepare_next(). In get_next_buf() the driver gets a buffer from the active list and deletes it from that list. In finish_field_prepare_next() that buffer is given back to vb2 via finish_buffer(). But if you stop streaming and em28xx_stop_streaming() is called, then that buffer that is being processed isn't part of the active list anymore and so it is never given back. em28xx_stop_streaming() should give that buffer back as well, and that will keep everything in balance. The easiest solution seems to be to move the list_del() call from get_next_buf() to finish_buffer(). It seemed to work in a quick test, but I haven't looked at vbi support or corner cases. I leave that to you :-) Regards, Hans ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: em28xx vb2 warnings 2014-07-28 15:27 ` Hans Verkuil @ 2014-07-29 17:21 ` Frank Schäfer 0 siblings, 0 replies; 6+ messages in thread From: Frank Schäfer @ 2014-07-29 17:21 UTC (permalink / raw) To: Hans Verkuil; +Cc: Linux Media Mailing List Am 28.07.2014 um 17:27 schrieb Hans Verkuil: ... > OK, I looked at it: the problem is in get_next_buf() and finish_field_prepare_next(). > In get_next_buf() the driver gets a buffer from the active list and deletes it from > that list. In finish_field_prepare_next() that buffer is given back to vb2 via > finish_buffer(). > > But if you stop streaming and em28xx_stop_streaming() is called, then that buffer that > is being processed isn't part of the active list anymore and so it is never given back. > > em28xx_stop_streaming() should give that buffer back as well, and that will keep > everything in balance. The easiest solution seems to be to move the list_del() call > from get_next_buf() to finish_buffer(). It seemed to work in a quick test, but I > haven't looked at vbi support or corner cases. I leave that to you :-) Ok, thank you so far Hans ! I will see what I can do. Regards, Frank ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-07-29 17:20 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-25 16:20 em28xx vb2 warnings Frank Schäfer 2014-07-25 19:07 ` Hans Verkuil 2014-07-27 21:17 ` Frank Schäfer 2014-07-27 21:19 ` Hans Verkuil 2014-07-28 15:27 ` Hans Verkuil 2014-07-29 17:21 ` Frank Schäfer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).