[PATCH] Partly revert "[media] rc-core: allow calling rc_open with device not initialized"
This partly reverts commit 078600f514a12fd763ac84c86af68ef5b5267563. Due to the relocation of input_register_device() call, holding down a button on an IR remote no longer resulted in repeated key down events. Signed-off-by: Ole Ernst <olebo...@gmx.com> --- drivers/media/rc/rc-main.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index 8e7f292..26fd63b 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -1460,6 +1460,10 @@ int rc_register_device(struct rc_dev *dev) dev->input_dev->phys = dev->input_phys; dev->input_dev->name = dev->input_name; + rc = input_register_device(dev->input_dev); + if (rc) + goto out_table; + /* * Default delay of 250ms is too short for some protocols, especially * since the timeout is currently set to 250ms. Increase it to 500ms, @@ -1475,11 +1479,6 @@ int rc_register_device(struct rc_dev *dev) */ dev->input_dev->rep[REP_PERIOD] = 125; - /* rc_open will be called here */ - rc = input_register_device(dev->input_dev); - if (rc) - goto out_table; - path = kobject_get_path(>dev.kobj, GFP_KERNEL); dev_info(>dev, "%s as %s\n", dev->input_name ?: "Unspecified device", path ?: "N/A"); -- 2.9.0 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/1] SMI PCIe IR driver for DVBSky cards
Hi Max, Am 29.06.2015 um 16:09 schrieb Nibble Max: ported from the manufacturer's source tree, available from http://dvbsky.net/download/linux/media_build-bst-150211.tar.gz This is the second patch after a public review. just for the sake of clarity: I see commented out bits and pieces of RC_DRIVER_IR_RAW in your linked archive. Does this mean S950/S952/T9580 V3 models theoretically support arbitrary IR codes, but with this patch only RC5 is implemented? Or are those models only able to handle RC5? Regards, Ole -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: DVBSky S952 dvb_register failed err = -22
Hi Antti, I was able to test your current tree (8a56b6b..754594d) without SCR and the frontends still run into a timeout. There seems to be an issue with the patch in general. Is there something else I can test/try or do you require some debug output? Thanks, Ole Am 24.03.2015 um 20:51 schrieb Ole Ernst: Am 24.03.2015 um 16:22 schrieb Antti Palosaari: Someone has reported SCR/Unicable does not work with that demod driver, but I have no personal experience from whole thing... Could you try direct connection to LNB? I will test a direct connection over Easter, as I don't have physical access to the htpc right now. I will try to get someone else to test your patch, who hopefully doesn't use SCR. Ole -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: DVBSky S952 dvb_register failed err = -22
]) Mär 24 10:41:33 htpc kernel: cx23885 :04:00.0: DVB: registering adapter 1 frontend 0 (Montage DS3103/TS2022)... Mär 24 10:41:33 htpc kernel: DVBSky S952 port 2 MAC address: ff:ff:ff:ff:ff:ff Mär 24 10:41:33 htpc kernel: cx23885_dev_checkrevision() Hardware revision = 0xa5 Mär 24 10:41:33 htpc kernel: cx23885[0]/0: found at :04:00.0, rev: 4, irq: 17, latency: 0, mmio: 0xf720 Mär 24 10:41:35 htpc vdr[384]: [384] frontend 0/0 provides DVB-S,DVB-S2 with QPSK (Montage DS3103/TS2022) Mär 24 10:41:35 htpc vdr[384]: [384] frontend 1/0 provides DVB-S,DVB-S2 with QPSK (Montage DS3103/TS2022) Mär 24 10:41:35 htpc vdr[384]: [384] found 2 DVB devices Mär 24 10:41:40 htpc vdr[384]: [384] switching to channel 2 (ZDF HD) Mär 24 10:43:16 htpc vdr[384]: [384] switching to channel 1 (Das Erste HD) It looks as if the firmware dvb-fe-ds3103.fw is not getting downloaded with your patch. I thought there shouldn't be nodes in /dev/dvb/ in this case? To roll back I reinstalled the old tree, moving the original m88ts2022.ko.gz back in and running depmod -a. Rebooting didn't bring the S952 up, it said: Mär 24 10:39:07 htpc kernel: Unable to find Montage chip Mär 24 10:39:07 htpc kernel: cx23885[0]: frontend initialization failed Mär 24 10:39:07 htpc kernel: cx23885_dvb_register() dvb_register failed err = -22 Mär 24 10:39:07 htpc kernel: cx23885_dev_setup() Failed to register dvb adapters on VID_B So maybe it left it in a strange/undefined state? I had to poweroff the machine and start from there. Afterwards everything is fine again. Thanks, Ole Am 23.03.2015 um 23:52 schrieb Antti Palosaari: On 03/23/2015 11:12 PM, Ole Ernst wrote: Very much appreciated, thanks Antti! Let me know, if you need someone to test your patches. Could you test that tree? http://git.linuxtv.org/cgit.cgi/anttip/media_tree.git/log/?h=ts2020 git clone -b ts2020 git://linuxtv.org/anttip/media_tree.git then compile and install whole kernel regards Antti -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: DVBSky S952 dvb_register failed err = -22
Am 24.03.2015 um 13:54 schrieb Antti Palosaari: Looks strange as firmware is not downloaded. It is downloaded on when first tuning attempt is done, so nodes are created in any case. TS2020 tuner is detected correctly, which looks somehow promising. Could you test my patches again as I have done some changes (tree is rebased). Hi Antti, I don't know what went wrong on first try, but after enabling some debug output I can see the firmware being downloaded. Mär 24 15:15:47 htpc kernel: cx23885 driver version 0.0.4 loaded Mär 24 15:15:47 htpc kernel: cx23885 :04:00.0: enabling device ( - 0002) Mär 24 15:15:47 htpc kernel: CORE cx23885[0]: subsystem: 4254:0952, board: DVBSky S952 [card=50,autodetected] Mär 24 15:15:47 htpc kernel: cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) Mär 24 15:15:48 htpc kernel: cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) Mär 24 15:15:48 htpc kernel: cx23885_dvb_register() allocating 1 frontend(s) Mär 24 15:15:48 htpc kernel: cx23885[0]: cx23885 based dvb card Mär 24 15:15:48 htpc kernel: i2c i2c-2: m88ds3103_attach: chip_id=70 Mär 24 15:15:48 htpc kernel: i2c i2c-2: Added multiplexed i2c bus 4 Mär 24 15:15:48 htpc kernel: ts2020 4-0060: Montage Technology TS2020 successfully identified Mär 24 15:15:48 htpc kernel: DVB: registering new adapter (cx23885[0]) Mär 24 15:15:48 htpc kernel: cx23885 :04:00.0: DVB: registering adapter 0 frontend 0 (Montage M88DS3103)... Mär 24 15:15:48 htpc kernel: DVBSky S952 port 1 MAC address: ff:ff:ff:ff:ff:ff Mär 24 15:15:48 htpc kernel: cx23885_dvb_register() allocating 1 frontend(s) Mär 24 15:15:48 htpc kernel: cx23885[0]: cx23885 based dvb card Mär 24 15:15:48 htpc kernel: i2c i2c-1: m88ds3103_attach: chip_id=70 Mär 24 15:15:48 htpc kernel: i2c i2c-1: Added multiplexed i2c bus 5 Mär 24 15:15:48 htpc kernel: ts2020 5-0060: Montage Technology TS2020 successfully identified Mär 24 15:15:48 htpc kernel: DVB: registering new adapter (cx23885[0]) Mär 24 15:15:48 htpc kernel: cx23885 :04:00.0: DVB: registering adapter 1 frontend 0 (Montage M88DS3103)... Mär 24 15:15:48 htpc kernel: DVBSky S952 port 2 MAC address: ff:ff:ff:ff:ff:ff Mär 24 15:15:48 htpc kernel: cx23885_dev_checkrevision() Hardware revision = 0xa5 Mär 24 15:15:48 htpc kernel: cx23885[0]/0: found at :04:00.0, rev: 4, irq: 17, latency: 0, mmio: 0xf720 Mär 24 15:15:52 htpc kernel: i2c i2c-2: m88ds3103_init: Mär 24 15:15:52 htpc kernel: i2c i2c-2: m88ds3103_init: firmware=00 Mär 24 15:15:52 htpc kernel: i2c i2c-2: m88ds3103: found a 'Montage M88DS3103' in cold state Mär 24 15:15:52 htpc kernel: i2c i2c-2: m88ds3103: downloading firmware from file 'dvb-demod-m88ds3103.fw' Mär 24 15:15:53 htpc kernel: i2c i2c-2: m88ds3103: found a 'Montage M88DS3103' in warm state Mär 24 15:15:53 htpc kernel: i2c i2c-2: m88ds3103: firmware version 3.B Mär 24 15:15:53 htpc vdr[388]: [388] DVB API version is 0x050A (VDR was built with 0x050A) Mär 24 15:15:53 htpc vdr[388]: [388] frontend 0/0 provides DVB-S,DVB-S2 with QPSK (Montage M88DS3103) Mär 24 15:15:53 htpc kernel: i2c i2c-1: m88ds3103_init: Mär 24 15:15:53 htpc kernel: i2c i2c-1: m88ds3103_init: firmware=00 Mär 24 15:15:53 htpc kernel: i2c i2c-1: m88ds3103: found a 'Montage M88DS3103' in cold state Mär 24 15:15:53 htpc kernel: i2c i2c-1: m88ds3103: downloading firmware from file 'dvb-demod-m88ds3103.fw' Mär 24 15:15:54 htpc kernel: i2c i2c-1: m88ds3103: found a 'Montage M88DS3103' in warm state Mär 24 15:15:54 htpc kernel: i2c i2c-1: m88ds3103: firmware version 3.B Mär 24 15:15:54 htpc vdr[388]: [388] frontend 1/0 provides DVB-S,DVB-S2 with QPSK (Montage M88DS3103) Mär 24 15:15:54 htpc vdr[388]: [388] found 2 DVB devices However, the tuner still times out even with your rebase. I sometimes also get this output from vdr: Mär 24 15:22:20 htpc vdr[388]: [407] ERROR (dvbdevice.c,727): Die Wartezeit für die Verbindung ist abgelaufen Which basically says the waiting time has exceeded. I was playing a bit with femon plugin and often there will be a regained lock, with no picture though. Two times I also got a divide error: Mär 24 15:21:27 htpc vdr[388]: [407] frontend 0/0 regained lock on channel 2 (ZDF HD), tp 111361 Mär 24 15:21:28 htpc vdr[388]: [407] frontend 0/0 lost lock on channel 2 (ZDF HD), tp 111361 Mär 24 15:21:28 htpc vdr[388]: [407] frontend 0/0 regained lock on channel 2 (ZDF HD), tp 111361 Mär 24 15:21:29 htpc vdr[388]: [407] frontend 0/0 lost lock on channel 2 (ZDF HD), tp 111361 Mär 24 15:21:30 htpc kernel: divide error: [#1] PREEMPT SMP Mär 24 15:21:30 htpc kernel: Modules linked in: uinput cfg80211 rfkill ts2020(O) m88ds3103(O) i2c_mux snd_hda_codec_hdmi cx25840(O) iTCO_wdt iTCO_vendor_support gpio_ich joydev mousedev ppdev evdev mac_hid intel_rapl iosf_mbi x86_pkg_temp_thermal intel_powerclamp kvm_intel snd_hda_codec_realtek snd_hda_codec_generic kvm psmouse pcspkr serio_raw nvidia(PO) nls_iso8859_1 nls_cp437 vfat fat cx23885(O) altera_ci(O) tda18271(O) altera_stapl(O)
Re: cx23885: DVBSky S952 dvb_register failed err = -22
Am 24.03.2015 um 16:22 schrieb Antti Palosaari: Someone has reported SCR/Unicable does not work with that demod driver, but I have no personal experience from whole thing... Could you try direct connection to LNB? I will test a direct connection over Easter, as I don't have physical access to the htpc right now. I will try to get someone else to test your patch, who hopefully doesn't use SCR. Ole -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: DVBSky S952 dvb_register failed err = -22
Very much appreciated, thanks Antti! Let me know, if you need someone to test your patches. Am 23.03.2015 um 19:08 schrieb Antti Palosaari: On 03/18/2015 11:06 AM, Ole Ernst wrote: Hi Max, I'm afraid I'm not experienced enough to adapt the ts2020 driver to interwork with the current kernel driver for the S952. I'd be more than happy to test patches though! I will migrate M88TS2022 to TS2020 and it will start working after that. regards Antti Thanks, Ole Am 18.03.2015 um 02:40 schrieb Nibble Max: Hello Ole, If it is m88ts2020, there is a tuner driver ts2020 in dvb-frontends directory. If fail to load m88ts2022 driver, then try to load ts2020 driver. m88ts2022 driver is an i2c driver, but ts2020 is traditional dvb-attach driver. Please check the other code using ts2020 for reference. Best Regards, Max -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: DVBSky S952 dvb_register failed err = -22
Hi Max, I'm afraid I'm not experienced enough to adapt the ts2020 driver to interwork with the current kernel driver for the S952. I'd be more than happy to test patches though! Thanks, Ole Am 18.03.2015 um 02:40 schrieb Nibble Max: Hello Ole, If it is m88ts2020, there is a tuner driver ts2020 in dvb-frontends directory. If fail to load m88ts2022 driver, then try to load ts2020 driver. m88ts2022 driver is an i2c driver, but ts2020 is traditional dvb-attach driver. Please check the other code using ts2020 for reference. Best Regards, Max -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: DVBSky S952 dvb_register failed err = -22
Hi Max, I get a chip_id of 0x81, which returns -ENODEV in the default branch of the subsequent switch. So I guess my S952 is too old? :-( How hard would it be to add support for it? Thanks, Ole Am 17.03.2015 um 02:53 schrieb Nibble Max: Hello, what is the chip_id debug output from m88ts2022 module? I think you maybe hold the old S952 card. Its satellite tuner is M88TS2020, not M88TS2022. Best Regards, Max On 2015-03-15 19:07:07, Ole Ernst olebo...@gmx.com wrote: Hi Antti, thanks for your quick response! Based on lsmod and modinfo I do have m88ts2022. $ lsmod | grep m88 m88ts2022 16898 0 regmap_i2c 12783 1 m88ts2022 m88ds3103 21452 0 i2c_mux12534 1 m88ds3103 dvb_core 102038 4 cx23885,altera_ci,m88ds3103,videobuf2_dvb i2c_core 50240 13 drm,i2c_i801,cx23885,cx25840,m88ts2022,i2c_mux,regmap_i2c,nvidia,v4l2_common,tveeprom,m88ds3103,tda18271,videodev $ modinfo m88ts2022 filename: /lib/modules/3.19.1-1-ARCH/kernel/drivers/media/tuners/m88ts2022.ko.gz license:GPL author: Antti Palosaari cr...@iki.fi description:Montage M88TS2022 silicon tuner driver alias: i2c:m88ts2022 depends:i2c-core,regmap-i2c intree: Y vermagic: 3.19.1-1-ARCH SMP preempt mod_unload modversions Thanks, Ole Am 15.03.2015 um 11:49 schrieb Antti Palosaari: You don't have m88ts2022 driver installed. Antti On 03/15/2015 12:26 PM, Ole Ernst wrote: Hi, I added some printk in cx23885-dvb.c and the problem is in i2c_new_device: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/media/pci/cx23885/cx23885-dvb.c?id=refs/tags/v3.19.1#n1935 The returned client_tuner is not NULL, but client_tuner-dev.driver is. Hence it will goto frontend_detach, which will then return -EINVAL. Any idea why client_tuner-dev.driver is NULL? Thanks, Ole Am 14.03.2015 um 20:54 schrieb Ole Ernst: Hi, using linux-3.19.1-1 (Archlinux) I get the following output while booting without the media-build-tree provided by DVBSky: cx23885 driver version 0.0.4 loaded cx23885 :04:00.0: enabling device ( - 0002) CORE cx23885[0]: subsystem: 4254:0952, board: DVBSky S952 [card=50,autodetected] cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-2: m88ds3103_attach: chip_id=70 i2c i2c-2: Added multiplexed i2c bus 4 cx23885_dvb_register() dvb_register failed err = -22 cx23885_dev_setup() Failed to register dvb adapters on VID_B cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-1: m88ds3103_attach: chip_id=70 i2c i2c-1: Added multiplexed i2c bus 4 cx23885_dvb_register() dvb_register failed err = -22 cx23885_dev_setup() Failed to register dvb on VID_C cx23885_dev_checkrevision() Hardware revision = 0xa5 cx23885[0]/0: found at :04:00.0, rev: 4, irq: 17, latency: 0, mmio: 0xf720 Obviously there are no device in /dev/dvb. Using the media-build-tree works just fine though. The following firmware files are installed in /usr/lib/firmware: dvb-demod-m88ds3103.fw dvb-demod-m88rs6000.fw dvb-demod-si2168-a20-01.fw dvb-demod-si2168-a30-01.fw dvb-demod-si2168-b40-01.fw dvb-fe-ds300x.fw dvb-fe-ds3103.fw dvb-fe-rs6000.fw dvb-tuner-si2158-a20-01.fw Output of lspci -vvvnn: https://gist.githubusercontent.com/olebowle/6a4108363a9d1f7dd033/raw/lscpi I also set the module parameters debug, i2c_debug, irq_debug and irq_debug in cx23885. The output is pretty verbose and can be found here: https://gist.githubusercontent.com/olebowle/6a4108363a9d1f7dd033/raw/debug.log Thanks, Ole -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: DVBSky S952 dvb_register failed err = -22
Hi, I added some printk in cx23885-dvb.c and the problem is in i2c_new_device: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/media/pci/cx23885/cx23885-dvb.c?id=refs/tags/v3.19.1#n1935 The returned client_tuner is not NULL, but client_tuner-dev.driver is. Hence it will goto frontend_detach, which will then return -EINVAL. Any idea why client_tuner-dev.driver is NULL? Thanks, Ole Am 14.03.2015 um 20:54 schrieb Ole Ernst: Hi, using linux-3.19.1-1 (Archlinux) I get the following output while booting without the media-build-tree provided by DVBSky: cx23885 driver version 0.0.4 loaded cx23885 :04:00.0: enabling device ( - 0002) CORE cx23885[0]: subsystem: 4254:0952, board: DVBSky S952 [card=50,autodetected] cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-2: m88ds3103_attach: chip_id=70 i2c i2c-2: Added multiplexed i2c bus 4 cx23885_dvb_register() dvb_register failed err = -22 cx23885_dev_setup() Failed to register dvb adapters on VID_B cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-1: m88ds3103_attach: chip_id=70 i2c i2c-1: Added multiplexed i2c bus 4 cx23885_dvb_register() dvb_register failed err = -22 cx23885_dev_setup() Failed to register dvb on VID_C cx23885_dev_checkrevision() Hardware revision = 0xa5 cx23885[0]/0: found at :04:00.0, rev: 4, irq: 17, latency: 0, mmio: 0xf720 Obviously there are no device in /dev/dvb. Using the media-build-tree works just fine though. The following firmware files are installed in /usr/lib/firmware: dvb-demod-m88ds3103.fw dvb-demod-m88rs6000.fw dvb-demod-si2168-a20-01.fw dvb-demod-si2168-a30-01.fw dvb-demod-si2168-b40-01.fw dvb-fe-ds300x.fw dvb-fe-ds3103.fw dvb-fe-rs6000.fw dvb-tuner-si2158-a20-01.fw Output of lspci -vvvnn: https://gist.githubusercontent.com/olebowle/6a4108363a9d1f7dd033/raw/lscpi I also set the module parameters debug, i2c_debug, irq_debug and irq_debug in cx23885. The output is pretty verbose and can be found here: https://gist.githubusercontent.com/olebowle/6a4108363a9d1f7dd033/raw/debug.log Thanks, Ole -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: cx23885: DVBSky S952 dvb_register failed err = -22
Hi Antti, thanks for your quick response! Based on lsmod and modinfo I do have m88ts2022. $ lsmod | grep m88 m88ts2022 16898 0 regmap_i2c 12783 1 m88ts2022 m88ds3103 21452 0 i2c_mux12534 1 m88ds3103 dvb_core 102038 4 cx23885,altera_ci,m88ds3103,videobuf2_dvb i2c_core 50240 13 drm,i2c_i801,cx23885,cx25840,m88ts2022,i2c_mux,regmap_i2c,nvidia,v4l2_common,tveeprom,m88ds3103,tda18271,videodev $ modinfo m88ts2022 filename: /lib/modules/3.19.1-1-ARCH/kernel/drivers/media/tuners/m88ts2022.ko.gz license:GPL author: Antti Palosaari cr...@iki.fi description:Montage M88TS2022 silicon tuner driver alias: i2c:m88ts2022 depends:i2c-core,regmap-i2c intree: Y vermagic: 3.19.1-1-ARCH SMP preempt mod_unload modversions Thanks, Ole Am 15.03.2015 um 11:49 schrieb Antti Palosaari: You don't have m88ts2022 driver installed. Antti On 03/15/2015 12:26 PM, Ole Ernst wrote: Hi, I added some printk in cx23885-dvb.c and the problem is in i2c_new_device: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/media/pci/cx23885/cx23885-dvb.c?id=refs/tags/v3.19.1#n1935 The returned client_tuner is not NULL, but client_tuner-dev.driver is. Hence it will goto frontend_detach, which will then return -EINVAL. Any idea why client_tuner-dev.driver is NULL? Thanks, Ole Am 14.03.2015 um 20:54 schrieb Ole Ernst: Hi, using linux-3.19.1-1 (Archlinux) I get the following output while booting without the media-build-tree provided by DVBSky: cx23885 driver version 0.0.4 loaded cx23885 :04:00.0: enabling device ( - 0002) CORE cx23885[0]: subsystem: 4254:0952, board: DVBSky S952 [card=50,autodetected] cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-2: m88ds3103_attach: chip_id=70 i2c i2c-2: Added multiplexed i2c bus 4 cx23885_dvb_register() dvb_register failed err = -22 cx23885_dev_setup() Failed to register dvb adapters on VID_B cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-1: m88ds3103_attach: chip_id=70 i2c i2c-1: Added multiplexed i2c bus 4 cx23885_dvb_register() dvb_register failed err = -22 cx23885_dev_setup() Failed to register dvb on VID_C cx23885_dev_checkrevision() Hardware revision = 0xa5 cx23885[0]/0: found at :04:00.0, rev: 4, irq: 17, latency: 0, mmio: 0xf720 Obviously there are no device in /dev/dvb. Using the media-build-tree works just fine though. The following firmware files are installed in /usr/lib/firmware: dvb-demod-m88ds3103.fw dvb-demod-m88rs6000.fw dvb-demod-si2168-a20-01.fw dvb-demod-si2168-a30-01.fw dvb-demod-si2168-b40-01.fw dvb-fe-ds300x.fw dvb-fe-ds3103.fw dvb-fe-rs6000.fw dvb-tuner-si2158-a20-01.fw Output of lspci -vvvnn: https://gist.githubusercontent.com/olebowle/6a4108363a9d1f7dd033/raw/lscpi I also set the module parameters debug, i2c_debug, irq_debug and irq_debug in cx23885. The output is pretty verbose and can be found here: https://gist.githubusercontent.com/olebowle/6a4108363a9d1f7dd033/raw/debug.log Thanks, Ole -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
cx23885: DVBSky S952 dvb_register failed err = -22
Hi, using linux-3.19.1-1 (Archlinux) I get the following output while booting without the media-build-tree provided by DVBSky: cx23885 driver version 0.0.4 loaded cx23885 :04:00.0: enabling device ( - 0002) CORE cx23885[0]: subsystem: 4254:0952, board: DVBSky S952 [card=50,autodetected] cx25840 3-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) cx25840 3-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-2: m88ds3103_attach: chip_id=70 i2c i2c-2: Added multiplexed i2c bus 4 cx23885_dvb_register() dvb_register failed err = -22 cx23885_dev_setup() Failed to register dvb adapters on VID_B cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-1: m88ds3103_attach: chip_id=70 i2c i2c-1: Added multiplexed i2c bus 4 cx23885_dvb_register() dvb_register failed err = -22 cx23885_dev_setup() Failed to register dvb on VID_C cx23885_dev_checkrevision() Hardware revision = 0xa5 cx23885[0]/0: found at :04:00.0, rev: 4, irq: 17, latency: 0, mmio: 0xf720 Obviously there are no device in /dev/dvb. Using the media-build-tree works just fine though. The following firmware files are installed in /usr/lib/firmware: dvb-demod-m88ds3103.fw dvb-demod-m88rs6000.fw dvb-demod-si2168-a20-01.fw dvb-demod-si2168-a30-01.fw dvb-demod-si2168-b40-01.fw dvb-fe-ds300x.fw dvb-fe-ds3103.fw dvb-fe-rs6000.fw dvb-tuner-si2158-a20-01.fw Output of lspci -vvvnn: https://gist.githubusercontent.com/olebowle/6a4108363a9d1f7dd033/raw/lscpi I also set the module parameters debug, i2c_debug, irq_debug and irq_debug in cx23885. The output is pretty verbose and can be found here: https://gist.githubusercontent.com/olebowle/6a4108363a9d1f7dd033/raw/debug.log Thanks, Ole -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] dvb_frontend: Fix possible read out of bounds
Check if index is within bounds _before_ accessing the value. Signed-off-by: Ole Ernst olebo...@gmx.com --- drivers/media/dvb-core/dvb_frontend.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c index 2d32c13..6ce435a 100644 --- a/drivers/media/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb-core/dvb_frontend.c @@ -1279,7 +1279,7 @@ static int dtv_property_process_get(struct dvb_frontend *fe, switch(tvp-cmd) { case DTV_ENUM_DELSYS: ncaps = 0; - while (fe-ops.delsys[ncaps] ncaps MAX_DELSYS) { + while (ncaps MAX_DELSYS fe-ops.delsys[ncaps]) { tvp-u.buffer.data[ncaps] = fe-ops.delsys[ncaps]; ncaps++; } @@ -1596,7 +1596,7 @@ static int dvbv5_set_delivery_system(struct dvb_frontend *fe, * supported */ ncaps = 0; - while (fe-ops.delsys[ncaps] ncaps MAX_DELSYS) { + while (ncaps MAX_DELSYS fe-ops.delsys[ncaps]) { if (fe-ops.delsys[ncaps] == desired_system) { c-delivery_system = desired_system; dev_dbg(fe-dvb-device, @@ -1628,7 +1628,7 @@ static int dvbv5_set_delivery_system(struct dvb_frontend *fe, * of the desired system */ ncaps = 0; - while (fe-ops.delsys[ncaps] ncaps MAX_DELSYS) { + while (ncaps MAX_DELSYS fe-ops.delsys[ncaps]) { if (dvbv3_type(fe-ops.delsys[ncaps]) == type) delsys = fe-ops.delsys[ncaps]; ncaps++; @@ -1703,7 +1703,7 @@ static int dvbv3_set_delivery_system(struct dvb_frontend *fe) * DVBv3 standard */ ncaps = 0; - while (fe-ops.delsys[ncaps] ncaps MAX_DELSYS) { + while (ncaps MAX_DELSYS fe-ops.delsys[ncaps]) { if (dvbv3_type(fe-ops.delsys[ncaps]) != DVBV3_UNKNOWN) { delsys = fe-ops.delsys[ncaps]; break; -- 1.9.0 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html