diff options
| author | David S. Miller <davem@davemloft.net> | 2011-05-05 14:09:28 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-05-05 14:09:28 -0700 | 
| commit | 90864fbc7639d7a2300c67a18c9fb9fbcf7d51d2 (patch) | |
| tree | 6951c8d0e529dbfc7c4cec75d4cec63350e39b7c /net/mac80211/rx.c | |
| parent | 228e548e602061b08ee8e8966f567c12aa079682 (diff) | |
| parent | a70171dce9cd44cb06c7d299eba9fa87a8933045 (diff) | |
| download | olio-linux-3.10-90864fbc7639d7a2300c67a18c9fb9fbcf7d51d2.tar.xz olio-linux-3.10-90864fbc7639d7a2300c67a18c9fb9fbcf7d51d2.zip  | |
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'net/mac80211/rx.c')
| -rw-r--r-- | net/mac80211/rx.c | 49 | 
1 files changed, 1 insertions, 48 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index a864890e4d0..13a6697651a 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -652,7 +652,7 @@ static void ieee80211_sta_reorder_release(struct ieee80211_hw *hw,   set_release_timer:  		mod_timer(&tid_agg_rx->reorder_timer, -			  tid_agg_rx->reorder_time[j] + +			  tid_agg_rx->reorder_time[j] + 1 +  			  HT_RX_REORDER_BUF_TIMEOUT);  	} else {  		del_timer(&tid_agg_rx->reorder_timer); @@ -2368,47 +2368,6 @@ ieee80211_rx_h_mgmt(struct ieee80211_rx_data *rx)  	return RX_QUEUED;  } -static void ieee80211_rx_michael_mic_report(struct ieee80211_hdr *hdr, -					    struct ieee80211_rx_data *rx) -{ -	int keyidx; -	unsigned int hdrlen; - -	hdrlen = ieee80211_hdrlen(hdr->frame_control); -	if (rx->skb->len >= hdrlen + 4) -		keyidx = rx->skb->data[hdrlen + 3] >> 6; -	else -		keyidx = -1; - -	if (!rx->sta) { -		/* -		 * Some hardware seem to generate incorrect Michael MIC -		 * reports; ignore them to avoid triggering countermeasures. -		 */ -		return; -	} - -	if (!ieee80211_has_protected(hdr->frame_control)) -		return; - -	if (rx->sdata->vif.type == NL80211_IFTYPE_AP && keyidx) { -		/* -		 * APs with pairwise keys should never receive Michael MIC -		 * errors for non-zero keyidx because these are reserved for -		 * group keys and only the AP is sending real multicast -		 * frames in the BSS. -		 */ -		return; -	} - -	if (!ieee80211_is_data(hdr->frame_control) && -	    !ieee80211_is_auth(hdr->frame_control)) -		return; - -	mac80211_ev_michael_mic_failure(rx->sdata, keyidx, hdr, NULL, -					GFP_ATOMIC); -} -  /* TODO: use IEEE80211_RX_FRAGMENTED */  static void ieee80211_rx_cooked_monitor(struct ieee80211_rx_data *rx,  					struct ieee80211_rate *rate) @@ -2752,12 +2711,6 @@ static bool ieee80211_prepare_and_rx_handle(struct ieee80211_rx_data *rx,  	if (!prepares)  		return false; -	if (status->flag & RX_FLAG_MMIC_ERROR) { -		if (status->rx_flags & IEEE80211_RX_RA_MATCH) -			ieee80211_rx_michael_mic_report(hdr, rx); -		return false; -	} -  	if (!consume) {  		skb = skb_copy(skb, GFP_ATOMIC);  		if (!skb) {  |