mac80211: fix CSA handling timer
authorJohannes Berg <johannes.berg@intel.com>
Wed, 1 Aug 2012 13:53:45 +0000 (15:53 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 20 Aug 2012 11:57:49 +0000 (13:57 +0200)
The time until the channel switch is in TU,
not in milliseconds, so use TU_TO_EXP_TIME()
to correctly program the timer.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index ae524c9..9e61fe1 100644 (file)
@@ -813,9 +813,8 @@ void ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
                ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work);
        else
                mod_timer(&ifmgd->chswitch_timer,
-                         jiffies +
-                         msecs_to_jiffies(sw_elem->count *
-                                          cbss->beacon_interval));
+                         TU_TO_EXP_TIME(sw_elem->count *
+                                        cbss->beacon_interval));
 }
 
 static void ieee80211_handle_pwr_constr(struct ieee80211_sub_if_data *sdata,