Re: [PATCH] [BUG] Re: dvb_usb_lmedm04 crash Kernel (rs2000)
On Mon, 2012-08-06 at 21:46 +0300, Antti Palosaari wrote: > On 08/03/2012 02:31 AM, Malcolm Priestley wrote: > > On Thu, 2012-08-02 at 23:54 +0300, Antti Palosaari wrote: > >> Moi Malcolm, > >> Any idea why this seems to crash Kernel just when device is plugged? > >> > > Hi Antti > > > > Yes, there missing error handling when no firmware file found. > > > > It seems that this is more of a problem with udev-182+. > > > > However, so far udev-182 is only a problem on first ever plug. > > > > Regards > > > > > > Malcolm > > > Aug 6 20:56:34 localhost kernel: [19094.248540] LME2510(C): Firmware > Status: 6 (44) > Aug 6 20:56:34 localhost kernel: [19094.251541] LME2510(C): FRM No > Firmware Found - please install > Aug 6 20:56:34 localhost kernel: [19094.251559] usbcore: registered new > interface driver LME2510C_DVB-S > > It is good to print needed fw name. I found it from the documentation, > Documentation/dvb/lmedm04.txt. Hi Antti, Yes, this is a good idea to print the firmware it finds and then selects. > > Could you drop me that firmware privately as I don't wish to install > Windows drivers in order to extract it. > It would be interesting to see if your firmware is newer, my two boxes are over a year old. I as sure the firmware has a bug. Regards Malcolm > > Tested-by: Antti Palosaari > > > Signed-off-by: Malcolm Priestley > > --- > > drivers/media/dvb/dvb-usb/lmedm04.c |4 > > 1 file changed, 4 insertions(+) > > > > diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c > > b/drivers/media/dvb/dvb-usb/lmedm04.c > > index 25d1031..26ba5bc 100644 > > --- a/drivers/media/dvb/dvb-usb/lmedm04.c > > +++ b/drivers/media/dvb/dvb-usb/lmedm04.c > > @@ -878,6 +878,10 @@ static int lme_firmware_switch(struct usb_device > > *udev, int cold) > > fw_lme = fw_c_rs2000; > > ret = request_firmware(&fw, fw_lme, &udev->dev); > > dvb_usb_lme2510_firmware = TUNER_RS2000; > > + if (ret == 0) > > + break; > > + info("FRM No Firmware Found - please install"); > > + cold_fw = 0; > > break; > > default: > > fw_lme = fw_c_s7395; > > > > > 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: [PATCH] [BUG] Re: dvb_usb_lmedm04 crash Kernel (rs2000)
On 08/03/2012 02:31 AM, Malcolm Priestley wrote: On Thu, 2012-08-02 at 23:54 +0300, Antti Palosaari wrote: Moi Malcolm, Any idea why this seems to crash Kernel just when device is plugged? Hi Antti Yes, there missing error handling when no firmware file found. It seems that this is more of a problem with udev-182+. However, so far udev-182 is only a problem on first ever plug. Regards Malcolm Aug 6 20:56:34 localhost kernel: [19094.248540] LME2510(C): Firmware Status: 6 (44) Aug 6 20:56:34 localhost kernel: [19094.251541] LME2510(C): FRM No Firmware Found - please install Aug 6 20:56:34 localhost kernel: [19094.251559] usbcore: registered new interface driver LME2510C_DVB-S It is good to print needed fw name. I found it from the documentation, Documentation/dvb/lmedm04.txt. Could you drop me that firmware privately as I don't wish to install Windows drivers in order to extract it. Tested-by: Antti Palosaari Signed-off-by: Malcolm Priestley --- drivers/media/dvb/dvb-usb/lmedm04.c |4 1 file changed, 4 insertions(+) diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c index 25d1031..26ba5bc 100644 --- a/drivers/media/dvb/dvb-usb/lmedm04.c +++ b/drivers/media/dvb/dvb-usb/lmedm04.c @@ -878,6 +878,10 @@ static int lme_firmware_switch(struct usb_device *udev, int cold) fw_lme = fw_c_rs2000; ret = request_firmware(&fw, fw_lme, &udev->dev); dvb_usb_lme2510_firmware = TUNER_RS2000; + if (ret == 0) + break; + info("FRM No Firmware Found - please install"); + cold_fw = 0; break; default: fw_lme = fw_c_s7395; regards Antti -- http://palosaari.fi/ -- 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] [BUG] Re: dvb_usb_lmedm04 crash Kernel (rs2000)
On 08/03/2012 01:31 AM, Malcolm Priestley wrote: > On Thu, 2012-08-02 at 23:54 +0300, Antti Palosaari wrote: >> Moi Malcolm, >> Any idea why this seems to crash Kernel just when device is plugged? >> > Hi Antti > > Yes, there missing error handling when no firmware file found. > > It seems that this is more of a problem with udev-182+. > > However, so far udev-182 is only a problem on first ever plug. > > Regards > > > Malcolm > > > Signed-off-by: Malcolm Priestley > --- > drivers/media/dvb/dvb-usb/lmedm04.c |4 > 1 file changed, 4 insertions(+) > > diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c > b/drivers/media/dvb/dvb-usb/lmedm04.c > index 25d1031..26ba5bc 100644 > --- a/drivers/media/dvb/dvb-usb/lmedm04.c > +++ b/drivers/media/dvb/dvb-usb/lmedm04.c > @@ -878,6 +878,10 @@ static int lme_firmware_switch(struct usb_device *udev, > int cold) > fw_lme = fw_c_rs2000; > ret = request_firmware(&fw, fw_lme, &udev->dev); > dvb_usb_lme2510_firmware = TUNER_RS2000; > + if (ret == 0) > + break; > + info("FRM No Firmware Found - please install"); > + cold_fw = 0; > break; > default: > fw_lme = fw_c_s7395; > Do we need fw blob anymore!? http://www.spinics.net/lists/hotplug/msg05257.html … "Firmware is loaded natively by udev now, the external 'firmware' binary is no longer used." … Cheers, poma -- 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] [BUG] Re: dvb_usb_lmedm04 crash Kernel (rs2000)
On Thu, 2012-08-02 at 23:54 +0300, Antti Palosaari wrote: > Moi Malcolm, > Any idea why this seems to crash Kernel just when device is plugged? > Hi Antti Yes, there missing error handling when no firmware file found. It seems that this is more of a problem with udev-182+. However, so far udev-182 is only a problem on first ever plug. Regards Malcolm Signed-off-by: Malcolm Priestley --- drivers/media/dvb/dvb-usb/lmedm04.c |4 1 file changed, 4 insertions(+) diff --git a/drivers/media/dvb/dvb-usb/lmedm04.c b/drivers/media/dvb/dvb-usb/lmedm04.c index 25d1031..26ba5bc 100644 --- a/drivers/media/dvb/dvb-usb/lmedm04.c +++ b/drivers/media/dvb/dvb-usb/lmedm04.c @@ -878,6 +878,10 @@ static int lme_firmware_switch(struct usb_device *udev, int cold) fw_lme = fw_c_rs2000; ret = request_firmware(&fw, fw_lme, &udev->dev); dvb_usb_lme2510_firmware = TUNER_RS2000; + if (ret == 0) + break; + info("FRM No Firmware Found - please install"); + cold_fw = 0; break; default: fw_lme = fw_c_s7395; -- 1.7.9.5 > > [crope@localhost linux]$ uname -a > Linux localhost.localdomain 3.4.6-2.fc17.x86_64 #1 SMP Thu Jul 19 > 22:54:16 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux > [crope@localhost linux]$ modinfo dvb_usb_lmedm04 > filename: > /lib/modules/3.4.6-2.fc17.x86_64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-lmedm04.ko > license:GPL > version:1.99 > description:LME2510(C) DVB-S USB2.0 > author: Malcolm Priestley > srcversion: 59949851F3132870B974EE7 > alias: usb:v3344p22F0d*dc*dsc*dp*ic*isc*ip* > alias: usb:v3344p1120d*dc*dsc*dp*ic*isc*ip* > alias: usb:v3344p1122d*dc*dsc*dp*ic*isc*ip* > depends:dvb-usb,dvb-core,rc-core > intree: Y > vermagic: 3.4.6-2.fc17.x86_64 SMP mod_unload > parm: debug:set debugging level (1=info (or-able)). (debugging > is not enabled) (int) > parm: firmware:set default firmware 0=Sharp7395 1=LG (int) > parm: pid:set default 0=default 1=off 2=on (int) > parm: adapter_nr:DVB adapter numbers (array of short) > [crope@localhost linux]$ > > > Aug 2 23:46:19 localhost kernel: [ 211.527886] usb 1-2.2: new > high-speed USB device number 7 using ehci_hcd > Aug 2 23:46:19 localhost kernel: [ 211.601817] usb 1-2.2: config 1 > interface 0 altsetting 1 bulk endpoint 0x81 has invalid maxpacket 64 > Aug 2 23:46:19 localhost kernel: [ 211.601829] usb 1-2.2: config 1 > interface 0 altsetting 1 bulk endpoint 0x1 has invalid maxpacket 64 > Aug 2 23:46:19 localhost kernel: [ 211.601837] usb 1-2.2: config 1 > interface 0 altsetting 1 bulk endpoint 0x2 has invalid maxpacket 64 > Aug 2 23:46:19 localhost kernel: [ 211.601845] usb 1-2.2: config 1 > interface 0 altsetting 1 bulk endpoint 0x8A has invalid maxpacket 64 > Aug 2 23:46:19 localhost kernel: [ 211.602073] usb 1-2.2: New USB > device found, idVendor=3344, idProduct=22f0 > Aug 2 23:46:19 localhost kernel: [ 211.602083] usb 1-2.2: New USB > device strings: Mfr=0, Product=0, SerialNumber=3 > Aug 2 23:46:19 localhost kernel: [ 211.602093] usb 1-2.2: > SerialNumber: 䥈児 > Aug 2 23:46:19 localhost mtp-probe: checking bus 1, device 7: > "/sys/devices/pci:00/:00:12.2/usb1/1-2/1-2.2" > Aug 2 23:46:19 localhost mtp-probe: bus: 1, device: 7 was not an MTP device > Aug 2 23:46:19 localhost kernel: [ 211.628508] LME2510(C): Firmware > Status: 6 (44) > Aug 2 23:46:19 localhost kernel: [ 211.629545] LME2510(C): FRM Loading > dvb-usb-lme2510c-rs2000.fw file > Aug 2 23:46:19 localhost kernel: [ 211.629551] LME2510(C): FRM > Starting Firmware Download > Aug 2 23:46:19 localhost kernel: [ 211.629574] BUG: unable to handle > kernel NULL pointer dereference at 0008 > Aug 2 23:46:19 localhost kernel: [ 211.629739] IP: > [] lme_firmware_switch+0x526/0x800 [dvb_usb_lmedm04] > Aug 2 23:46:19 localhost kernel: [ 211.629900] PGD 0 > Aug 2 23:46:19 localhost kernel: [ 211.629947] Oops: [#1] SMP > Aug 2 23:46:19 localhost kernel: [ 211.630019] CPU 3 > Aug 2 23:46:19 localhost kernel: [ 211.630058] Modules linked in: > dvb_usb_lmedm04(+) dvb_usb fuse tpm_bios rfcomm bnep ip6t_REJECT > nf_conntrack_ipv6 nf_defrag_ipv6 nf_conntrack_ipv4 nf_defrag_ipv4 > xt_state nf_conntrack ip6table_filter ip6_tables snd_hda_codec_hdmi > ppdev sp5100_tco snd_hda_codec_via btusb bluetooth i2c_piix4 8139too > microcode 8139cp serio_raw snd_hda_intel edac_core edac_mce_amd k10temp > snd_hda_codec snd_hwdep rfkill r8169 mii cx23885 altera_ci tda18271 > altera_stapl cx2341x btcx_risc videobuf_dvb dvb_core snd_pcm > snd_page_alloc snd_timer snd soundcore tveeprom videobuf_dma_sg > videobuf_core v4l2_common videodev media rc_core shpchp parport_pc > parport asus_atk0110 uinput xts gf128mul hid_logitech_dj ata_generic > pata_acpi dm_crypt pata_atiixp