[U-Boot] [PATCH] usb: fix unaligned access in device_qual()

Albert ARIBAUD albert.u.boot at aribaud.net
Thu Jul 4 13:50:27 CEST 2013


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...

> > And I'm not going to eat a tartelette when I'm about 30 minutes from
> > going to a restaurant (admittedly small, but undoubtedly near).
> 
> You should have one to survive the journey ;-)

I'm more addicted to the raw stuff. No one should need anything beyond
90+%-cocoa chocolate.

> Best regards,
> Marek Vasut

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list