[linux-dvb] [PATCH] allow dvb-usb firmware loading in warm state?

Ivor Hewitt ivor at ivor.org
Mon Jan 21 21:19:34 CET 2008

I was having (still am! :) trouble with my nova-t 500 card and I wanted 
a way to be able try a different firmware... but the current code only 
loads in a cold state... and my "mythbackend" is pretty inaccessible, so 
I made the attached change. This allows a module parameter of 
"force_load_firmware" which causes the "cold state" logic to be used 
when warm. Thought this might be a useful idea, it was handy for me anyway.


-- snip --

  /* DIB7070 generic */
diff -r 7564c110491e linux/drivers/media/dvb/dvb-usb/dvb-usb-init.c
--- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-init.c    Sun Jan 20 
09:13:44 2008 -0200
+++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-init.c    Mon Jan 21 
11:55:20 2008 +0000
@@ -25,6 +25,10 @@ static int dvb_usb_force_pid_filter_usag
  static int dvb_usb_force_pid_filter_usage;
dvb_usb_force_pid_filter_usage, int, 0444);
  MODULE_PARM_DESC(force_pid_filter_usage, "force all dvb-usb-devices to 
use a PID filter, if any (default: 0).");
+int dvb_usb_force_firmware;
+module_param_named(force_load_firmware, dvb_usb_force_firmware, int, 0444);
+MODULE_PARM_DESC(force_load_firmware, "force firmware loading even when 
in warm state.");

  static int dvb_usb_adapter_init(struct dvb_usb_device *d)
@@ -230,7 +234,7 @@ int dvb_usb_device_init(struct usb_inter
                 return -ENODEV;

-       if (cold) {
+       if (cold||dvb_usb_force_firmware) {
                 info("found a '%s' in cold state, will try to load a 
                 ret = dvb_usb_download_firmware(udev,props);
                 if (!props->no_reconnect || ret != 0)

More information about the linux-dvb mailing list