summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ti/wl18xx/tx.c
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2012-05-18 08:46:36 +0400
committerLuciano Coelho <coelho@ti.com>2012-06-06 20:28:04 +0400
commit2c0133a437905591cdaa39cf65a3f7188d20a094 (patch)
tree2e48d9962c72af4454ee765e8d55c15db2faebd1 /drivers/net/wireless/ti/wl18xx/tx.c
parenta4203c6453afcd21b3a6f0be592bf74951e80c72 (diff)
downloadlinux-2c0133a437905591cdaa39cf65a3f7188d20a094.tar.xz
wlcore/wl12xx/wl18xx: introduce quirk to remove TKIP header space
18xx chips do not require extra space in the TKIP header. Introduce a new HW quirk to allow us to make this feature arch-specific. 12xx chip will now have this quirk. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/ti/wl18xx/tx.c')
-rw-r--r--drivers/net/wireless/ti/wl18xx/tx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/tx.c b/drivers/net/wireless/ti/wl18xx/tx.c
index 4de00b901505..5b1fb10d9fd7 100644
--- a/drivers/net/wireless/ti/wl18xx/tx.c
+++ b/drivers/net/wireless/ti/wl18xx/tx.c
@@ -75,7 +75,8 @@ static void wl18xx_tx_complete_packet(struct wl1271 *wl, u8 tx_stat_byte)
skb_pull(skb, sizeof(struct wl1271_tx_hw_descr));
/* remove TKIP header space if present */
- if (info->control.hw_key &&
+ if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) &&
+ info->control.hw_key &&
info->control.hw_key->cipher == WLAN_CIPHER_SUITE_TKIP) {
int hdrlen = ieee80211_get_hdrlen_from_skb(skb);
memmove(skb->data + WL1271_EXTRA_SPACE_TKIP, skb->data, hdrlen);