]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mac80211: Handle mesh action frames in ieee80211_rx_h_action
authorJavier Cardona <javier@cozybit.com>
Mon, 29 Mar 2010 18:00:20 +0000 (11:00 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 Aug 2010 17:26:32 +0000 (10:26 -0700)
commit 1cb561f83793191cf86a2db3948d28f5f42df9ff upstream.

This fixes the problem introduced in commit
8404080568613d93ad7cf0a16dfb68 which broke mesh peer link establishment.

changes:
v2  Added missing break (Johannes)
v3  Broke original patch into two (Johannes)

Signed-off-by: Javier Cardona <javier@cozybit.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/ieee80211.h
net/mac80211/rx.c

index 163c840437d604ca9993b3fc70e3349a3fabd199..047e449e9403f3966df05ee198df4b9cd492a11a 100644 (file)
@@ -1137,6 +1137,8 @@ enum ieee80211_category {
        WLAN_CATEGORY_SA_QUERY = 8,
        WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9,
        WLAN_CATEGORY_WMM = 17,
+       WLAN_CATEGORY_MESH_PLINK = 30,          /* Pending ANA approval */
+       WLAN_CATEGORY_MESH_PATH_SEL = 32,       /* Pending ANA approval */
        WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
        WLAN_CATEGORY_VENDOR_SPECIFIC = 127,
 };
index 48d8fdfbec89a0eef1ffc268fae0488b750f423c..701e63a609f64398b66b96d2e247d632170d1614 100644 (file)
@@ -2023,6 +2023,11 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
                        return RX_CONTINUE;
                }
                break;
+       case WLAN_CATEGORY_MESH_PLINK:
+       case WLAN_CATEGORY_MESH_PATH_SEL:
+               if (ieee80211_vif_is_mesh(&sdata->vif))
+                       return ieee80211_mesh_rx_mgmt(sdata, rx->skb);
+               break;
        default:
                /* do not process rejected action frames */
                if (mgmt->u.action.category & 0x80)