Re: [PATCH] [BUG] Re: dvb_usb_lmedm04 crash Kernel (rs2000)

2012-08-06 Thread Antti Palosaari

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 cr...@iki.fi


Signed-off-by: Malcolm Priestley tvbox...@gmail.com
---
  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)

2012-08-06 Thread Malcolm Priestley
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 cr...@iki.fi
 
  Signed-off-by: Malcolm Priestley tvbox...@gmail.com
  ---
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)

2012-08-03 Thread poma
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 tvbox...@gmail.com
 ---
  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)

2012-08-02 Thread Malcolm Priestley
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 tvbox...@gmail.com
---
 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 tvbox...@gmail.com
 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: 
 [a03ac116] 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 wmi radeon i2c_algo_bit