diff options
author | Ashok Nagarajan <ashok@cozybit.com> | 2012-04-03 00:21:21 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-04-11 16:23:47 -0400 |
commit | 9ebb61a23d90703344fc609fbee8da67b1e7456c (patch) | |
tree | 021483e65ed424166b539d9a26d92d415c842d86 /net/mac80211/mesh_plink.c | |
parent | 657c3e0c4147bb3d3fdd338e32b83b968b0f9d02 (diff) |
mac80211: Modify sta_get_rates to give basic rates
Signed-off-by: Ashok Nagarajan <ashok@cozybit.com>
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mesh_plink.c')
-rw-r--r-- | net/mac80211/mesh_plink.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index 73fa687edc7c..91e2043bc9b2 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c | |||
@@ -465,6 +465,7 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata, struct ieee80211_m | |||
465 | bool deactivated, matches_local = true; | 465 | bool deactivated, matches_local = true; |
466 | u8 ie_len; | 466 | u8 ie_len; |
467 | u8 *baseaddr; | 467 | u8 *baseaddr; |
468 | u32 rates, basic_rates = 0; | ||
468 | __le16 plid, llid, reason; | 469 | __le16 plid, llid, reason; |
469 | #ifdef CONFIG_MAC80211_VERBOSE_MPL_DEBUG | 470 | #ifdef CONFIG_MAC80211_VERBOSE_MPL_DEBUG |
470 | static const char *mplstates[] = { | 471 | static const char *mplstates[] = { |
@@ -559,6 +560,9 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata, struct ieee80211_m | |||
559 | 560 | ||
560 | /* Now we will figure out the appropriate event... */ | 561 | /* Now we will figure out the appropriate event... */ |
561 | event = PLINK_UNDEFINED; | 562 | event = PLINK_UNDEFINED; |
563 | rates = ieee80211_sta_get_rates(local, &elems, | ||
564 | rx_status->band, &basic_rates); | ||
565 | |||
562 | if (ftype != WLAN_SP_MESH_PEERING_CLOSE && | 566 | if (ftype != WLAN_SP_MESH_PEERING_CLOSE && |
563 | (!mesh_matches_local(&elems, sdata))) { | 567 | (!mesh_matches_local(&elems, sdata))) { |
564 | matches_local = false; | 568 | matches_local = false; |
@@ -583,7 +587,6 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata, struct ieee80211_m | |||
583 | return; | 587 | return; |
584 | } else if (!sta) { | 588 | } else if (!sta) { |
585 | /* ftype == WLAN_SP_MESH_PEERING_OPEN */ | 589 | /* ftype == WLAN_SP_MESH_PEERING_OPEN */ |
586 | u32 rates; | ||
587 | 590 | ||
588 | rcu_read_unlock(); | 591 | rcu_read_unlock(); |
589 | 592 | ||
@@ -591,8 +594,6 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata, struct ieee80211_m | |||
591 | mpl_dbg("Mesh plink error: no more free plinks\n"); | 594 | mpl_dbg("Mesh plink error: no more free plinks\n"); |
592 | return; | 595 | return; |
593 | } | 596 | } |
594 | |||
595 | rates = ieee80211_sta_get_rates(local, &elems, rx_status->band); | ||
596 | sta = mesh_plink_alloc(sdata, mgmt->sa, rates, &elems); | 597 | sta = mesh_plink_alloc(sdata, mgmt->sa, rates, &elems); |
597 | if (!sta) { | 598 | if (!sta) { |
598 | mpl_dbg("Mesh plink error: plink table full\n"); | 599 | mpl_dbg("Mesh plink error: plink table full\n"); |