diff options
author | Sujith <Sujith.Manoharan@atheros.com> | 2010-03-30 03:18:27 (GMT) |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-31 18:46:41 (GMT) |
commit | 32fbccafed7e935432b601f0453c2b702a385a25 (patch) | |
tree | 212c7ba1e0fd15dcb2dabe5367c7029525c763b1 /drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | |
parent | 29bffa96e9bef4fb84740a49e93d5bd6ca126bac (diff) | |
download | linux-fsl-qoriq-32fbccafed7e935432b601f0453c2b702a385a25.tar.xz |
ath9k_htc: Fix TKIP encryption
Set IEEE80211_HW_RX_INCLUDES_FCS to indicate that
the FCS is present in RX frames. Also, remove a redundant
assignment of skb length and include the FCS_LEN
when checking padding.
Fixing this issue makes TKIP work.
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/htc_drv_txrx.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c index befe574..f1e3d83 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c @@ -450,7 +450,7 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv, padpos = ath9k_cmn_padpos(fc); padsize = padpos & 3; - if (padsize && skb->len >= padpos+padsize) { + if (padsize && skb->len >= padpos+padsize+FCS_LEN) { memmove(skb->data + padsize, skb->data, padpos); skb_pull(skb, padsize); } @@ -646,7 +646,6 @@ void ath9k_htc_rxep(void *drv_priv, struct sk_buff *skb, spin_lock(&priv->rx.rxbuflock); memcpy(&rxbuf->rxstatus, rxstatus, HTC_RX_FRAME_HEADER_SIZE); skb_pull(skb, HTC_RX_FRAME_HEADER_SIZE); - skb->len = rxstatus->rs_datalen; rxbuf->skb = skb; rxbuf->in_process = true; spin_unlock(&priv->rx.rxbuflock); |