On Tue, May 26, 2009 at 2:42 PM, Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> wrote: > On Tue, May 26, 2009 at 02:32:45PM -0400, Michael Krufky wrote: >> On Tue, May 26, 2009 at 1:40 PM, Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> wrote: >> > From: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> >> > To: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx> >> > >> > We're going to remove the FIRMWARE_NAME_MAX definition in order to avoid any >> > firmware name length restriction. >> > This patch changes the dvb_usb_device_properties firmware field accordingly. >> > >> > Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> >> > >> > --- >> > drivers/media/dvb/dvb-usb/dvb-usb.h | 2 +- >> > 1 file changed, 1 insertion(+), 1 deletion(-) >> > >> > Index: iwm-2.6/drivers/media/dvb/dvb-usb/dvb-usb.h >> > =================================================================== >> > --- iwm-2.6.orig/drivers/media/dvb/dvb-usb/dvb-usb.h 2009-05-26 17:24:36.000000000 +0200 >> > +++ iwm-2.6/drivers/media/dvb/dvb-usb/dvb-usb.h 2009-05-26 17:25:19.000000000 +0200 >> > @@ -196,7 +196,7 @@ struct dvb_usb_device_properties { >> > #define CYPRESS_FX2 3 >> > int usb_ctrl; >> > int (*download_firmware) (struct usb_device *, const struct firmware *); >> > - const char firmware[FIRMWARE_NAME_MAX]; >> > + const char *firmware; >> > int no_reconnect; >> > >> > int size_of_priv; >> > >> > -- >> > Intel Open Source Technology Centre >> > http://oss.intel.com/ >> > -- >> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> > the body of a message to majordomo@xxxxxxxxxxxxxxx >> > More majordomo info at http://vger.kernel.org/majordomo-info.html >> > Please read the FAQ at http://www.tux.org/lkml/ >> > >> >> Samuel, >> >> Your patch makes the following change: >> >> - const char firmware[FIRMWARE_NAME_MAX]; >> + const char *firmware; >> >> Before your change, struct dvb_usb_device_properties actually contains >> memory allocated for the firmware filename. After your change, this >> is nothing but a pointer. >> >> This will cause an OOPS. > No, not if it's correctly initialized, as it seems to be for all the > dvb_usb_device_properties users right now. > Typically, you'd initialize your dvb_usb_device_properties like this: > > static struct dvb_usb_device_properties a800_properties = { > .caps = DVB_USB_IS_AN_I2C_ADAPTER, > > .usb_ctrl = CYPRESS_FX2, > .firmware = "dvb-usb-avertv-a800-02.fw", > [...] > > And that's fine. You're right -- there is nothing wrong with the change -- my bad. I traced though the code after posting that last mail. It looked risky when I just looked at the patch, but in the end this is actually cleaner and much better. Sorry for the noise. Acked / Reviewed-by: Michael Krufky <mkrufky@xxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html