Re: [PATCH v7 2/4] USB: io_ti: Move request_firmware() calls out of download_fw()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2015-07-15 at 11:21 +0200, Johan Hovold wrote:

Hi Johan:

Thanks for another thoughtful and helpful review.  I think I have
addressed all the issues you noted and have a v8 patchset just about
ready to submit. First I'll respond to each of the specific points here
and in your other v7 review emails to make sure I have not missed
anything.


> On Sun, Jun 28, 2015 at 01:28:19PM -0500, Peter E. Berger wrote:
> > From: "Peter E. Berger" <pberger@xxxxxxxxxxx>
> > 
> > The io_ti driver fails to download firmware to Edgeport
> > devices such as the EP/416, even when the on-disk firmware image
> > (/lib/firmware/edgeport/down3.bin) is more current than the version
> > on the EP/416.  The current download code is broken in a few ways.
> > Notably it mis-uses global variables OperationalMajorVersion and
> > OperationalMinorVersion (reading their values before they've been
> > properly initialized and subsequently initializing them multiple times
> > without synchronization).  This patch drops the global variables and
> > replaces the redundant calls to request_firmware()/release_firmware()
> > in download_fw() with a single call pair in edge_startup(); the firmware
> > image pointer is then passed to download_fw() and build_i2c_fw_hdr().
> 
> This looks good now apart from one small issue I mention below.

Done (see below).

> 
> Could you also please rename the patch summary (Subject) to something
> more descriptive such as
> 
> 	USB: io_ti: fix firmware version handling
> 
> or similar?

Done.

> 
> > Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx>
> > ---
> >  drivers/usb/serial/io_ti.c | 91 +++++++++++++++++++++-------------------------
> >  1 file changed, 42 insertions(+), 49 deletions(-)
> > 
> > diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
> > index 69378a7..4492c17 100644
> > --- a/drivers/usb/serial/io_ti.c
> > +++ b/drivers/usb/serial/io_ti.c
> 
> > @@ -943,6 +925,13 @@ static int download_fw(struct edgeport_serial *serial)
> >  	struct usb_interface_descriptor *interface;
> >  	int download_cur_ver;
> >  	int download_new_ver;
> > +	u8 fw_major_version;
> > +	u8 fw_minor_version;
> > +
> 
> I think you should add minimal sanity checks on the firmware length here
> as part of this patch. That is, make sure that fw->size >= 4, or if you
> prefer, fw->size >= FW_HEADER_SIZE (i.e. 8).

Done (using sizeof(struct edgeport_fw_hdr)).

> 
> > +	fw_major_version = fw->data[0];
> > +	fw_minor_version = fw->data[1];
> 
> Thanks,
> Johan


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux