Re: mac80211 truesize bugs

Herbert Xu
2008-05-04T12:45:55Z

On Sun, May 04, 2008 at 02:28:08PM +0200, Johannes Berg wrote:
>
> Now I see the problem. I increased the LL_MAX_HEADER constant, but all
> code uses dev->hard_header_len to allocate the headroom (via
> LL_RESERVED_SPACE), e.g. packet.c:

Right hard_header_len is being overloaded with two meanings.
On the one hand it's used to indicate the length of the header
managed by the hardware header cache, on the other hand we use
it to indicate the head room for those devices that don't have
a cache.

Since your device wants both, it fails miserably.

There are three ways out of this. You could have your own cache
(I haven't looked at your headers so I don't know whether that
makes sense), have no cache at all, or add a new field that gets
added to hard_header_len for the purposes of calculating head
room.

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt