From: Arthur Marsh <arthur.marsh@internode.on.net>
To: hverkuil@xs4all.nl
Cc: alain.volmat@foss.st.com, alexandre.belloni@bootlin.com,
alexandre.torgue@foss.st.com, alim.akhtar@samsung.com,
andrew-ct.chen@mediatek.com, andrew@codeconstruct.com.au,
andrey_utkin@fastmail.com, andrzej.hajda@intel.com,
andrzejtp2010@gmail.com, andy@kernel.org,
angelogioacchino.delregno@collabora.com, awalls@md.metrocast.net,
bcm-kernel-feedback-list@broadcom.com, bin.liu@mediatek.com,
bingbu.cao@intel.com, bparrot@ti.com, bryan.odonoghue@linaro.org,
changhuang.liang@starfivetech.com, clabbe@baylibre.com,
claudiu.beznea@tuxon.dev, dafna@fastmail.com,
daniel.almeida@collabora.com, devarsht@ti.com, digetx@gmail.com,
djrscally@gmail.com, eagle.zhou@nxp.com, eajames@linux.ibm.com,
eugen.hristev@collabora.com, ezequiel@vanguardiasur.com.ar,
fabien.dessenne@foss.st.com, fabrizio.castro.jz@renesas.com,
festevam@gmail.com, florian.fainelli@broadcom.com,
gregkh@linuxfoundation.org, hdegoede@redhat.com, heiko@sntech.de,
houlong.wei@mediatek.com, hugues.fruchet@foss.st.com,
ismael@iodev.co.uk, jacek.anaszewski@gmail.com,
jack.zhu@starfivetech.com, jackson.lee@chipsnmedia.com,
jacob-chen@iotwrt.com, jacopo.mondi@ideasonboard.com,
jai.luthra@linux.dev, jbrunet@baylibre.com,
jean-christophe.trotin@foss.st.com, jernej.skrabec@gmail.com,
joel@jms.id.au, jonathanh@nvidia.com,
kernel-list@raspberrypi.com, kernel@pengutronix.de,
kernel@puri.sm, kflin@nuvoton.com, khilman@baylibre.com,
kieran.bingham+renesas@ideasonboard.com,
kieran.bingham@ideasonboard.com, krzk@kernel.org,
kwliu@nuvoton.com, l.stelmach@samsung.com,
laurent.pinchart@ideasonboard.com, linux-media@vger.kernel.org,
luca.ceresoli@bootlin.com, m.szyprowski@samsung.com,
m.tretter@pengutronix.de, maintainers@bluecherrydvr.com,
martin.blumenstingl@googlemail.com,
martin.tuma@digiteqautomotive.com, martink@posteo.de,
matt@ranostay.sg, matthias.bgg@gmail.com, mchehab@kernel.org,
mcoquelin.stm32@gmail.com, michal.simek@amd.com,
mikhail.ulyanov@cogentembedded.com, ming.qian@nxp.com,
minghsiu.tsai@mediatek.com, mirela.rabulea@nxp.com,
mkrufky@linuxtv.org, mripard@kernel.org,
nas.chung@chipsnmedia.com, neil.armstrong@linaro.org,
nicolas.ferre@microchip.com, niklas.soderlund@ragnatech.se,
p.zabel@pengutronix.de, paul.kocialkowski@bootlin.com,
quic_vgarodia@quicinc.com, rfoss@kernel.org, rjui@broadcom.com,
rmfrfs@gmail.com, s.hauer@pengutronix.de, s.nawrocki@samsung.com,
sakari.ailus@linux.intel.com, samuel@sholland.org,
sbranden@broadcom.com, shawnguo@kernel.org,
skhan@linuxfoundation.org, skomatineni@nvidia.com,
slongerbeam@gmail.com, stanimir.k.varbanov@gmail.com,
tfiga@chromium.org, thierry.reding@gmail.com,
tian.shu.qiu@intel.com, tiffany.lin@mediatek.com,
todor.too@gmail.com, wens@csie.org, xavier.roumegue@oss.nxp.com,
yong.deng@magewell.com, yong.zhi@intel.com,
yunfei.dong@mediatek.com
Subject: [PATCH 06/10] media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
Date: Wed, 11 Dec 2024 14:53:54 +1030 [thread overview]
Message-ID: <20241211042355.8479-1-user@am64> (raw)
In-Reply-To: <20241014-vb2-wait-v1-6-8c3ee25c618c@xs4all.nl>
Hi, I had the following when rtl2832_sdr was loading:
Linux version 6.13.0-rc2 (root@am64) (gcc-14 (Debian 14.2.0-8) 14.2.0, GNU ld (GNU Binutils for Debian) 2.43.50.20241204) #6236 SMP PREEMPT_RT Mon Dec 9 10:25:04 ACDT 2024
usb 9-5: new low-speed USB device number 2 using ohci-pci
usb 4-3: New USB device found, idVendor=0bda, idProduct=2838, bcdDevice= 1.00
usb 4-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-3: Product: RTL2838UHIDIR
usb 4-3: Manufacturer: Realtek
usb 4-3: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state
usb 4-3: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
dvbdev: DVB: registering new adapter (Realtek RTL2832U reference design)
usb 4-3: media controller created
dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
i2c i2c-5: Added multiplexed i2c bus 6
rtl2832 5-0010: Realtek RTL2832 successfully attached
usb 4-3: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
dvbdev: dvb_create_media_entity: media entity 'Realtek RTL2832 (DVB-T)' registered.
i2c i2c-6: fc0012: Fitipower FC0012 successfully identified
videodev: Linux video capture interface: v2.00
[drm] ib test on ring 6 succeeded
------------[ cut here ]------------
WARNING: CPU: 1 PID: 453 at drivers/media/common/videobuf2/videobuf2-core.c:2661 vb2_core_queue_init+0x272/0x280 [videobuf2_common]
Modules linked in: rtl2832_sdr videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev fc0012 rtl2832 i2c_mux dvb_usb_rtl28xxu(+) dvb_usb_v2 dvb_core mc radeon(+) snd_emu10k1_synth snd_emux_synth snd_seq_midi_emul snd_seq_virmidi snd_seq_midi snd_seq_midi_event drm_ttm_helper snd_seq ttm snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg drm_client_lib drm_suballoc_helper snd_emu10k1 drm_display_helper snd_hda_codec edac_mce_amd sha512_ssse3 sha512_generic sha256_ssse3 snd_util_mem sha1_ssse3 drm_kms_helper aesni_intel snd_ac97_codec snd_hda_core ac97_bus snd_rawmidi snd_seq_device snd_hwdep k10temp drm gf128mul snd_pcm crypto_simd cryptd pcspkr at24 evdev serio_raw acpi_cpufreq emu10k1_gp gameport regmap_i2c i2c_algo_bit snd_timer video snd wmi soundcore sp5100_tco button ext4 crc32c_generic crc16 mbcache jbd2 uas usb_storage hid_generic usbhid hid sg sr_mod cdrom sd_mod ata_generic firewire_ohci ahci crc32_pclmul crc32c_intel firewire_core crc_itu_t pata_atiixp xhci_pci_renesas libahci
ohci_pci i2c_piix4 i2c_smbus xhci_pci ehci_pci ohci_hcd libata ehci_hcd xhci_hcd r8169 realtek mdio_devres scsi_mod usbcore libphy scsi_common usb_common
CPU: 1 UID: 0 PID: 453 Comm: udevd Not tainted 6.13.0-rc2 #6236
Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./F2A78M-HD2, BIOS F2 05/28/2014
RIP: 0010:vb2_core_queue_init+0x272/0x280 [videobuf2_common]
Code: 90 0f 1f 80 00 00 00 00 eb be 0f 0b eb ba 0f 0b 90 0f 1f 80 00 00 00 00 eb ae 0f 0b eb aa 0f 0b 90 0f 1f 80 00 00 00 00 eb 9e <0f> 0b eb 9a 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90
RSP: 0018:ffffb26cc13d3780 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff90e6856d85a0 RCX: ffffffffc0d03320
RDX: 0000000000000001 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffff90e6837ada80 R08: 0000000000001000 R09: 0000000000000000
R10: ffff90e6856d8000 R11: 6f7475612e312e72 R12: 0000000000000000
R13: ffff90e6856d8000 R14: ffff90e6856d8790 R15: ffff90e6856d85a0
FS: 00007fbae6471840(0000) GS:ffff90e9af880000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6c22049e76 CR3: 0000000102ba4000 CR4: 00000000000406f0
Call Trace:
<TASK>
? vb2_core_queue_init+0x272/0x280 [videobuf2_common]
? __warn.cold+0xad/0x111
? vb2_core_queue_init+0x272/0x280 [videobuf2_common]
? report_bug+0x10e/0x1a0
? handle_bug+0x53/0x90
? exc_invalid_op+0x1f/0x90
? asm_exc_invalid_op+0x16/0x20
? vb2_core_queue_init+0x272/0x280 [videobuf2_common]
rtl2832_sdr_probe+0x188/0x490 [rtl2832_sdr]
? __pfx___device_attach_driver+0x10/0x10
platform_probe+0x4d/0xa0
? driver_sysfs_add+0x73/0xd0
really_probe+0xde/0x350
? pm_runtime_barrier+0x61/0xb0
__driver_probe_device+0x78/0x110
driver_probe_device+0x2d/0xc0
__device_attach_driver+0x8c/0x100
bus_for_each_drv+0x86/0xe0
__device_attach+0xb0/0x1b0
bus_probe_device+0x92/0xb0
device_add+0x654/0x870
? dev_set_name+0x43/0x50
platform_device_add+0xe6/0x250
platform_device_register_full+0x117/0x1a0
rtl2832u_tuner_attach+0x2e0/0x9e0 [dvb_usb_rtl28xxu]
dvb_usbv2_probe.cold+0xba6/0xccd [dvb_usb_v2]
? __pm_runtime_set_status+0x19b/0x2e0
usb_probe_interface+0x16e/0x360 [usbcore]
really_probe+0xde/0x350
? pm_runtime_barrier+0x61/0xb0
? __pfx___driver_attach+0x10/0x10
__driver_probe_device+0x78/0x110
driver_probe_device+0x2d/0xc0
__driver_attach+0xc9/0x1c0
bus_for_each_dev+0x6a/0xb0
? migrate_enable+0xbf/0xf0
bus_add_driver+0x139/0x220
driver_register+0x6e/0xc0
usb_register_driver+0x93/0x140 [usbcore]
? __pfx_rtl28xxu_usb_driver_init+0x10/0x10 [dvb_usb_rtl28xxu]
do_one_initcall+0x42/0x210
? __kmalloc_cache_noprof+0x98/0x240
do_init_module+0x60/0x210
init_module_from_file+0x89/0xc0
__x64_sys_finit_module+0x143/0x390
do_syscall_64+0x47/0x110
entry_SYSCALL_64_after_hwframe+0x76/0x7e
RIP: 0033:0x7fbae62a25b9
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 37 88 0d 00 f7 d8 64 89 01 48
RSP: 002b:00007ffdcfa41df8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
RAX: ffffffffffffffda RBX: 000055a9baaadff0 RCX: 00007fbae62a25b9
RDX: 0000000000000000 RSI: 00007fbae63a2541 RDI: 000000000000000d
RBP: 0000000000000000 R08: 00007fbae637bad0 R09: 000055a9baaa2540
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fbae63a2541
R13: 0000000000020000 R14: 000055a9baab55f0 R15: 0000000000000000
</TASK>
---[ end trace 0000000000000000 ]---
rtl2832_sdr rtl2832_sdr.1.auto: Could not initialize vb2 queue
rtl2832_sdr rtl2832_sdr.1.auto: probe with driver rtl2832_sdr failed with error -22
usb 4-3: dvb_usb_v2: 'Realtek RTL2832U reference design' successfully initialized and connected
usbcore: registered new interface driver dvb_usb_rtl28xxu
It was git-bisected back to:
commit 8fcd2795d22a7b6aa0671aaa67a74c0f776707af
Author: Hans Verkuil <hverkuil@xs4all.nl>
Date: Mon Oct 14 17:06:33 2024 +0200
media: rtl2832_sdr: drop vb2_ops_wait_prepare/finish
Since commit 88785982a19d ("media: vb2: use lock if wait_prepare/finish
are NULL") it is no longer needed to set the wait_prepare/finish
vb2_ops callbacks as long as the lock field in vb2_queue is set.
Since the vb2_ops_wait_prepare/finish callbacks already rely on that field,
we can safely drop these callbacks.
This simplifies the code and this is a step towards the goal of deleting
these callbacks.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
diff --git a/drivers/media/dvb-frontends/rtl2832_sdr.c b/drivers/media/dvb-frontends/rtl2832_sdr.c
index 922c1662f1f0..05254d8717db 100644
--- a/drivers/media/dvb-frontends/rtl2832_sdr.c
+++ b/drivers/media/dvb-frontends/rtl2832_sdr.c
@@ -947,8 +947,6 @@ static const struct vb2_ops rtl2832_sdr_vb2_ops = {
.buf_queue = rtl2832_sdr_buf_queue,
.start_streaming = rtl2832_sdr_start_streaming,
.stop_streaming = rtl2832_sdr_stop_streaming,
- .wait_prepare = vb2_ops_wait_prepare,
- .wait_finish = vb2_ops_wait_finish,
};
static int rtl2832_sdr_g_tuner(struct file *file, void *priv,
Reversing this patch to the current Linus git head kernel resulted in an
apparently successful load:
[ 19.678284] rtl2832 5-0010: Realtek RTL2832 successfully attached
[ 20.477909] rtl2832_sdr rtl2832_sdr.1.auto: Registered as swradio0
[ 20.477916] rtl2832_sdr rtl2832_sdr.1.auto: Realtek RTL2832 SDR attached
[ 20.477919] rtl2832_sdr rtl2832_sdr.1.auto: SDR API is still slightly experimental and functionality changes may follow
I have not tested the sdr functionality though.
Arthur Marsh.
next prev parent reply other threads:[~2024-12-11 4:25 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-14 15:06 [PATCH 00/10] media: start work to remove wait_prepare/finish callbacks Hans Verkuil
2024-10-14 15:06 ` [PATCH 01/10] media: videobuf2-core: update vb2_thread if wait_finish/prepare are NULL Hans Verkuil
2024-10-14 19:15 ` Laurent Pinchart
2024-10-15 6:56 ` Hans Verkuil
2024-10-16 8:20 ` Laurent Pinchart
2024-10-17 14:38 ` Mauro Carvalho Chehab
2024-10-17 14:51 ` Hans Verkuil
2024-10-17 15:09 ` [PATCHv2 " Hans Verkuil
2024-10-18 4:14 ` Mauro Carvalho Chehab
2024-10-14 15:06 ` [PATCH 02/10] media: test-drivers: drop vb2_ops_wait_prepare/finish Hans Verkuil
2024-10-15 15:17 ` Shuah
2024-10-14 15:06 ` [PATCH 03/10] media: pci: " Hans Verkuil
2024-10-19 11:51 ` Sakari Ailus
2024-10-14 15:06 ` [PATCH 04/10] media: usb: " Hans Verkuil
2024-10-14 15:06 ` [PATCH 05/10] media: video-i2c: " Hans Verkuil
2024-10-19 11:49 ` Sakari Ailus
2024-10-14 15:06 ` [PATCH 06/10] media: rtl2832_sdr: " Hans Verkuil
2024-12-11 4:23 ` Arthur Marsh [this message]
2024-10-14 15:06 ` [PATCH 07/10] media: platform: " Hans Verkuil
2024-10-15 8:01 ` Neil Armstrong
2024-10-19 21:10 ` Andrzej Pietrasiewicz
2024-10-27 12:53 ` Andrzej Pietrasiewicz
2024-10-14 15:06 ` [PATCH 08/10] media: common: saa7146: " Hans Verkuil
2024-10-14 15:06 ` [PATCH 09/10] staging: media: " Hans Verkuil
2024-10-15 8:00 ` Neil Armstrong
2024-10-16 7:50 ` Luca Ceresoli
2024-10-14 15:06 ` [PATCH 10/10] media: samples: v4l2-pci-skeleton.c: " Hans Verkuil
2024-10-14 15:13 ` [PATCH 00/10] media: start work to remove wait_prepare/finish callbacks Hans Verkuil
2024-10-14 19:16 ` Laurent Pinchart
2024-10-15 15:13 ` Shuah
2024-10-15 15:23 ` Hans Verkuil
2024-10-16 15:00 ` Shuah
2024-10-16 15:11 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241211042355.8479-1-user@am64 \
--to=arthur.marsh@internode.on.net \
--cc=alain.volmat@foss.st.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alexandre.torgue@foss.st.com \
--cc=alim.akhtar@samsung.com \
--cc=andrew-ct.chen@mediatek.com \
--cc=andrew@codeconstruct.com.au \
--cc=andrey_utkin@fastmail.com \
--cc=andrzej.hajda@intel.com \
--cc=andrzejtp2010@gmail.com \
--cc=andy@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=awalls@md.metrocast.net \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bin.liu@mediatek.com \
--cc=bingbu.cao@intel.com \
--cc=bparrot@ti.com \
--cc=bryan.odonoghue@linaro.org \
--cc=changhuang.liang@starfivetech.com \
--cc=clabbe@baylibre.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=dafna@fastmail.com \
--cc=daniel.almeida@collabora.com \
--cc=devarsht@ti.com \
--cc=digetx@gmail.com \
--cc=djrscally@gmail.com \
--cc=eagle.zhou@nxp.com \
--cc=eajames@linux.ibm.com \
--cc=eugen.hristev@collabora.com \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=fabien.dessenne@foss.st.com \
--cc=fabrizio.castro.jz@renesas.com \
--cc=festevam@gmail.com \
--cc=florian.fainelli@broadcom.com \
--cc=gregkh@linuxfoundation.org \
--cc=hdegoede@redhat.com \
--cc=heiko@sntech.de \
--cc=houlong.wei@mediatek.com \
--cc=hugues.fruchet@foss.st.com \
--cc=hverkuil@xs4all.nl \
--cc=ismael@iodev.co.uk \
--cc=jacek.anaszewski@gmail.com \
--cc=jack.zhu@starfivetech.com \
--cc=jackson.lee@chipsnmedia.com \
--cc=jacob-chen@iotwrt.com \
--cc=jacopo.mondi@ideasonboard.com \
--cc=jai.luthra@linux.dev \
--cc=jbrunet@baylibre.com \
--cc=jean-christophe.trotin@foss.st.com \
--cc=jernej.skrabec@gmail.com \
--cc=joel@jms.id.au \
--cc=jonathanh@nvidia.com \
--cc=kernel-list@raspberrypi.com \
--cc=kernel@pengutronix.de \
--cc=kernel@puri.sm \
--cc=kflin@nuvoton.com \
--cc=khilman@baylibre.com \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=kieran.bingham@ideasonboard.com \
--cc=krzk@kernel.org \
--cc=kwliu@nuvoton.com \
--cc=l.stelmach@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=luca.ceresoli@bootlin.com \
--cc=m.szyprowski@samsung.com \
--cc=m.tretter@pengutronix.de \
--cc=maintainers@bluecherrydvr.com \
--cc=martin.blumenstingl@googlemail.com \
--cc=martin.tuma@digiteqautomotive.com \
--cc=martink@posteo.de \
--cc=matt@ranostay.sg \
--cc=matthias.bgg@gmail.com \
--cc=mchehab@kernel.org \
--cc=mcoquelin.stm32@gmail.com \
--cc=michal.simek@amd.com \
--cc=mikhail.ulyanov@cogentembedded.com \
--cc=ming.qian@nxp.com \
--cc=minghsiu.tsai@mediatek.com \
--cc=mirela.rabulea@nxp.com \
--cc=mkrufky@linuxtv.org \
--cc=mripard@kernel.org \
--cc=nas.chung@chipsnmedia.com \
--cc=neil.armstrong@linaro.org \
--cc=nicolas.ferre@microchip.com \
--cc=niklas.soderlund@ragnatech.se \
--cc=p.zabel@pengutronix.de \
--cc=paul.kocialkowski@bootlin.com \
--cc=quic_vgarodia@quicinc.com \
--cc=rfoss@kernel.org \
--cc=rjui@broadcom.com \
--cc=rmfrfs@gmail.com \
--cc=s.hauer@pengutronix.de \
--cc=s.nawrocki@samsung.com \
--cc=sakari.ailus@linux.intel.com \
--cc=samuel@sholland.org \
--cc=sbranden@broadcom.com \
--cc=shawnguo@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=skomatineni@nvidia.com \
--cc=slongerbeam@gmail.com \
--cc=stanimir.k.varbanov@gmail.com \
--cc=tfiga@chromium.org \
--cc=thierry.reding@gmail.com \
--cc=tian.shu.qiu@intel.com \
--cc=tiffany.lin@mediatek.com \
--cc=todor.too@gmail.com \
--cc=wens@csie.org \
--cc=xavier.roumegue@oss.nxp.com \
--cc=yong.deng@magewell.com \
--cc=yong.zhi@intel.com \
--cc=yunfei.dong@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox