On Sun, 2009-03-22 at 14:01 +0100, Marek Vasut wrote: > > > 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 ? Yes, but maybe that part is _not_ a le16 but two u8s. :) But if you're on LE too then I guess that's not it. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part