]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/mac80211/rx.c
mac80211: assign conf.beacon_control for mesh
[linux-2.6-omap-h63xx.git] / net / mac80211 / rx.c
index 644d2774469dfaed7367589b6f06c7a6e4f59f88..02f436a86061a33c99c3c38dc4787b03d27c6c39 100644 (file)
@@ -19,7 +19,7 @@
 #include <net/ieee80211_radiotap.h>
 
 #include "ieee80211_i.h"
-#include "ieee80211_led.h"
+#include "led.h"
 #include "mesh.h"
 #include "wep.h"
 #include "wpa.h"
@@ -433,7 +433,7 @@ ieee80211_rx_mesh_check(struct ieee80211_rx_data *rx)
                }
 
         } else if ((rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA &&
-                   is_broadcast_ether_addr(hdr->addr1) &&
+                   is_multicast_ether_addr(hdr->addr1) &&
                    mesh_rmc_check(hdr->addr4, msh_h_get(hdr, hdrlen), rx->dev))
                return RX_DROP_MONITOR;
 #undef msh_h_get
@@ -1077,12 +1077,9 @@ ieee80211_drop_unencrypted(struct ieee80211_rx_data *rx)
        if (unlikely(!(rx->fc & IEEE80211_FCTL_PROTECTED) &&
                     (rx->fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA &&
                     (rx->fc & IEEE80211_FCTL_STYPE) != IEEE80211_STYPE_NULLFUNC &&
-                    (rx->key || rx->sdata->drop_unencrypted))) {
-               if (net_ratelimit())
-                       printk(KERN_DEBUG "%s: RX non-WEP frame, but expected "
-                              "encryption\n", rx->dev->name);
+                    (rx->key || rx->sdata->drop_unencrypted)))
                return -EACCES;
-       }
+
        return 0;
 }
 
@@ -1514,9 +1511,10 @@ ieee80211_rx_h_ctrl(struct ieee80211_rx_data *rx)
                if (!rx->sta)
                        return RX_CONTINUE;
                tid = le16_to_cpu(bar->control) >> 12;
-               tid_agg_rx = &(rx->sta->ampdu_mlme.tid_rx[tid]);
-               if (tid_agg_rx->state != HT_AGG_STATE_OPERATIONAL)
+               if (rx->sta->ampdu_mlme.tid_state_rx[tid]
+                                       != HT_AGG_STATE_OPERATIONAL)
                        return RX_CONTINUE;
+               tid_agg_rx = rx->sta->ampdu_mlme.tid_rx[tid];
 
                start_seq_num = le16_to_cpu(bar->start_seq_num) >> 4;
 
@@ -2123,11 +2121,12 @@ static u8 ieee80211_rx_reorder_ampdu(struct ieee80211_local *local,
 
        qc = skb->data + ieee80211_get_hdrlen(fc) - QOS_CONTROL_LEN;
        tid = qc[0] & QOS_CONTROL_TID_MASK;
-       tid_agg_rx = &(sta->ampdu_mlme.tid_rx[tid]);
 
-       if (tid_agg_rx->state != HT_AGG_STATE_OPERATIONAL)
+       if (sta->ampdu_mlme.tid_state_rx[tid] != HT_AGG_STATE_OPERATIONAL)
                goto end_reorder;
 
+       tid_agg_rx = sta->ampdu_mlme.tid_rx[tid];
+
        /* null data frames are excluded */
        if (unlikely(fc & IEEE80211_STYPE_NULLFUNC))
                goto end_reorder;
@@ -2171,7 +2170,7 @@ void __ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb,
        struct ieee80211_supported_band *sband;
 
        if (status->band < 0 ||
-           status->band > IEEE80211_NUM_BANDS) {
+           status->band >= IEEE80211_NUM_BANDS) {
                WARN_ON(1);
                return;
        }