mwl8k: Reducing extra_tx_headroom for tx optimization in AP mode
authorYogesh Ashok Powar <yogeshp@marvell.com>
Thu, 28 Apr 2011 12:04:48 +0000 (17:34 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 29 Apr 2011 19:36:15 +0000 (15:36 -0400)
commitff776cecec92fe7cac4a9ce1919576ad6e737e08
tree16db08ea4e9a894592780cd6b58d4fa9c77f1e51
parentd244f21e79162b829c9af09845421d9b4fac4253
mwl8k: Reducing extra_tx_headroom for tx optimization in AP mode

The tx_headroom required for mwl8k driver is 32 bytes and it
can use the space for 802.11 header received from mac80211.
mwl8k considers the smallest 802.11 frame (CTS2self of 10
bytes) that can be received from mac80211  to compute the
extra_tx_headroom as 22 (32 - 10) bytes.

When the wireless interface is part of bridge, this
extra_tx_headroom requirement results in a memcpy in
mac80211 (in function pskb_expand_head) for all the data
frames needing L2 forwarding/bridging, when NET_SKB_PAD is
defined as 32. This patch reduces the extra_tx_headroom by
8 bytes so that memcpy of data frames in mac80211 is
avoided in this case.

The resize will be required in driver for frames with 802.11
header size of less than 18 bytes.

Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: Pradeep Nemavat <pnemavat@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwl8k.c