Hi,

I just got started using the driver. In the README section "Known Problems"  No.5 you mention the suboptimal
performance of the driver.

I noticed that in the latest implementation the headroom in the sk_buff to be transmitted is too small to fit the LLC+SNAP
plus  WLAN header. As a result a new sk_buff is allocated and the whole frame is copied to the new new sk_buff (ieee80211_encap()->pskb_expand_head())). Not sure how much the performance penalty is but it is definitely
an overhead.

The copying of the frame can be avoided by either using a separate descriptor for the WLAN header (see comment in
ieee80211_encap()).

A quick fix would be to set the net_device->hard_header_len to 32 (LLC+SNAP+WLAN header) after ether_setup()
was called in ath_attach(). ether_setup() [net_init.c] sets it to ETH_HLEN, i.e. 14.

just an idea.

Rüdiger