[PATCH] libertas: revert CAPINFO_MASK to its original value

Javier Cardona javier at cozybit.com
Tue Jul 17 12:20:54 EDT 2007


Dan,

> Hmm, my fault then.  A few questions though.  What exact bits are
> supposed to be passed to the firmware here, and what bits are explicitly
> being masked out?  From what I can see, when NOTing the capinfo mask, we
> are really AND-ing the BSS's beacon capability field with
> 0010010111111111 (before converting it to LE and passing to firmware).
> In any case, why are certain undefined bits masked out, and what exactly
> are those bits that the firmware cares about and why does it care about
> those and not others?

That is the Capability Information field, as defined in sect 7.3.1.4
of the standard.  The mask is clearing bits 8, 9, 11, 12 and 14, which
translates to the following capabilities: Spectrum Management, QoS,
Automatic Power Save Delivery, Delayed Block Acks (and b12, which is
reserved by the standard and should be zeroed).

If the endianness of the mask is reversed, as Luisca pointed out, the
IBSS capability is disabled, explaining why joins were failing.

> The 5.1 specification says nothing about this.  For the capinfo field of
> the IEEEtypes_BssDesc_t it says just "Firmware capability information"
> and nothing beyond that.

I agree that the spec should point to the relevant section on the standard.

> (...)

I'll let others respond on the spec update procedure.

Cheers,

Javier



More information about the libertas-dev mailing list