diff options
Diffstat (limited to 'net/mac80211/mesh.c')
-rw-r--r-- | net/mac80211/mesh.c | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index 83b346cc4860..c8a4f19ed13b 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c | |||
@@ -702,28 +702,3 @@ void ieee80211_mesh_init_sdata(struct ieee80211_sub_if_data *sdata) | |||
702 | INIT_LIST_HEAD(&ifmsh->preq_queue.list); | 702 | INIT_LIST_HEAD(&ifmsh->preq_queue.list); |
703 | spin_lock_init(&ifmsh->mesh_preq_queue_lock); | 703 | spin_lock_init(&ifmsh->mesh_preq_queue_lock); |
704 | } | 704 | } |
705 | |||
706 | ieee80211_rx_result | ||
707 | ieee80211_mesh_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) | ||
708 | { | ||
709 | struct ieee80211_local *local = sdata->local; | ||
710 | struct ieee80211_mgmt *mgmt; | ||
711 | u16 fc; | ||
712 | |||
713 | if (skb->len < 24) | ||
714 | return RX_DROP_MONITOR; | ||
715 | |||
716 | mgmt = (struct ieee80211_mgmt *) skb->data; | ||
717 | fc = le16_to_cpu(mgmt->frame_control); | ||
718 | |||
719 | switch (fc & IEEE80211_FCTL_STYPE) { | ||
720 | case IEEE80211_STYPE_ACTION: | ||
721 | case IEEE80211_STYPE_PROBE_RESP: | ||
722 | case IEEE80211_STYPE_BEACON: | ||
723 | skb_queue_tail(&sdata->skb_queue, skb); | ||
724 | ieee80211_queue_work(&local->hw, &sdata->work); | ||
725 | return RX_QUEUED; | ||
726 | } | ||
727 | |||
728 | return RX_CONTINUE; | ||
729 | } | ||