On Monday 29 March 2010 12:37:22 Sujith wrote: > The FCS has to be stripped before the packet > is given to mac80211. 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@xxxxxxxxxxx> > --- you don't need to strip the FCS, mac80211 can do that if necessary. (Or not, if you want to operate a network sniffer) --- diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c index 10c8760..d5e015e 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c @@ -509,6 +509,7 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv, struct ath_common *common = ath9k_hw_common(priv->ah); hw->flags = IEEE80211_HW_SIGNAL_DBM | + IEEE80211_HW_RX_INCLUDES_FCS | IEEE80211_HW_AMPDU_AGGREGATION | IEEE80211_HW_SPECTRUM_MGMT | IEEE80211_HW_HAS_RATE_CONTROL; > drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 6 ++++-- > 1 files changed, 4 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..b171f8e 100644 > --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c > +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c > @@ -646,7 +649,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); > ok, this one looks odd... BTW, -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html