[U-Boot] [PATCH] usb: fix unaligned access in device_qual()
Marek Vasut
marex at denx.de
Mon Jul 8 15:06:14 CEST 2013
Dear Albert ARIBAUD,
> Hi Marek,
>
> On Wed, 3 Jul 2013 15:30:20 +0200, Marek Vasut <marex at denx.de> wrote:
> > Dear Albert ARIBAUD,
> >
> > > Hi Marek,
> > >
> > > On Thu, 27 Jun 2013 15:23:33 +0200, Marek Vasut <marex at denx.de> wrote:
> > > > Hello Albert,
> > > >
> > > > > Hi Marek,
> > > > >
> > > > > On Thu, 27 Jun 2013 13:26:39 +0200, Marek Vasut <marex at denx.de> wrote:
> > > > > > Dear Heiko Schocher,
> > > > > >
> > > > > > > while playing with dfu, I tapped in an unaligned access
> > > > > > > when doing on the host side a "lsusb -d [vendornr]: -v"
> > > > > >
> > > > > > > I get on the board:
> > > > > > Applied, thanks
> > > > >
> > > > > Now we have console log output in commit messages. :(
> > > >
> > > > Don't be sad, I will buy you a tartelette ;)
> > >
> > > Actually the sad part is that the patch in itself is bad: the actual
> > > alignment boundary should have been 16 bit, not one cacheline. Also,
> > > the issue could / should have been solved by reordering the fields
> > > rather than using an attribute.
> >
> > Why 16 bit? I think cacheline alignment here makes sense if the
> > descriptor is to be flush()'d from dcache.
>
> If it is then it should be moved out of the struct it currently lives
> in, in order to avoid a big alignment gap, and replaced with a pointer.
> Also, the commit message would then be wrong...
Good point, Heiko, can you comment?
Best regards,
Marek Vasut
More information about the U-Boot
mailing list