ath9k: fix beaconing for mesh interfaces
authorJavier Cardona <javier@cozybit.com>
Tue, 3 May 2011 23:57:19 +0000 (16:57 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 11 May 2011 18:50:36 +0000 (14:50 -0400)
Mesh beaconing on ath9k was broken by this commit:

commit 4801416c76a3a355076d6d371c00270dfe332e1c
Author: Ben Greear <greearb@candelatech.com>
Date:   Sat Jan 15 19:13:48 2011 +0000

This patch assigns the right opmode when the device is used in mesh
mode.

Reported-by: Fabrice Deyber fabricedeyber@agilemesh.com
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index c4d32c54224df3b98cbad2caafb835527e75f108..9dd72d8c78ec0cd3a76e0faddf72c211f5754865 100644 (file)
@@ -1385,7 +1385,9 @@ static void ath9k_calculate_summary_state(struct ieee80211_hw *hw,
                ath9k_hw_set_tsfadjust(ah, 0);
                sc->sc_flags &= ~SC_OP_TSF_RESET;
 
-               if (iter_data.nwds + iter_data.nmeshes)
+               if (iter_data.nmeshes)
+                       ah->opmode = NL80211_IFTYPE_MESH_POINT;
+               else if (iter_data.nwds)
                        ah->opmode = NL80211_IFTYPE_AP;
                else if (iter_data.nadhocs)
                        ah->opmode = NL80211_IFTYPE_ADHOC;