| From 1cb561f83793191cf86a2db3948d28f5f42df9ff Mon Sep 17 00:00:00 2001 |
| From: Javier Cardona <javier@cozybit.com> |
| Date: Mon, 29 Mar 2010 11:00:20 -0700 |
| Subject: mac80211: Handle mesh action frames in ieee80211_rx_h_action |
| |
| From: Javier Cardona <javier@cozybit.com> |
| |
| 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 | 2 ++ |
| net/mac80211/rx.c | 5 +++++ |
| 2 files changed, 7 insertions(+) |
| |
| --- a/include/linux/ieee80211.h |
| +++ b/include/linux/ieee80211.h |
| @@ -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, |
| }; |
| --- a/net/mac80211/rx.c |
| +++ b/net/mac80211/rx.c |
| @@ -2023,6 +2023,11 @@ ieee80211_rx_h_action(struct ieee80211_r |
| 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) |