[PATCH] Marvell CF8381

Marek Vasut marek.vasut at gmail.com
Sun Mar 22 09:01:58 EDT 2009


On Sunday 22 of March 2009 09:04:08 Johannes Berg wrote:
> On Sun, 2009-03-22 at 05:11 +0100, Marek Vasut wrote:
> > One more thing - I also had to apply the following patch in order to get
> > region code detected properly.
> >
> > le16_to_cpu(cmd.regioncode) = 0x3031 for me and Im definitelly not in
> > spain, but 0x30 (eu) looks reasonable.
> >
> > diff --git a/drivers/net/wireless/libertas/cmd.c
> > b/drivers/net/wireless/libertas/cmd.c
> > index 639dd02..ce32bc9 100644
> > --- a/drivers/net/wireless/libertas/cmd.c
> > +++ b/drivers/net/wireless/libertas/cmd.c
> > @@ -123,7 +123,7 @@ int lbs_update_hw_spec(struct lbs_private *priv)
> >          * only ever be 8-bit, even though the field size is 16-bit. 
> > Some firmware
> >          * returns non-zero high 8 bits here.
> >          */
> > -       priv->regioncode = le16_to_cpu(cmd.regioncode) & 0xFF;
> > +       priv->regioncode = (le16_to_cpu(cmd.regioncode) & 0xFF00) >> 8;
>
> I'd be more inclined to think that this was an endian bug? Does your
> machine happen to be big endian?

intel pxa270 (little endian). Btw. that macro le16_to_cpu should handle the 
endianness, shouldn't it ?

>
> johannes





More information about the libertas-dev mailing list