]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
rt2x00: save conf settings before reset tuner
authorStanislaw Gruszka <sgruszka@redhat.com>
Fri, 6 Jan 2017 13:05:12 +0000 (14:05 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 17 Jan 2017 11:58:36 +0000 (13:58 +0200)
Reset tuner use curr_band value, make sure it is updated.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ralink/rt2x00/rt2x00config.c

index 6a1f508d472f0e6ac3be534d780d209e90a0278d..350507458ddc4e0bdf77fe0d99e8f9e55c182113 100644 (file)
@@ -249,6 +249,22 @@ void rt2x00lib_config(struct rt2x00_dev *rt2x00dev,
         */
        rt2x00dev->ops->lib->config(rt2x00dev, &libconf, ieee80211_flags);
 
+       if (conf->flags & IEEE80211_CONF_PS)
+               set_bit(CONFIG_POWERSAVING, &rt2x00dev->flags);
+       else
+               clear_bit(CONFIG_POWERSAVING, &rt2x00dev->flags);
+
+       if (conf->flags & IEEE80211_CONF_MONITOR)
+               set_bit(CONFIG_MONITORING, &rt2x00dev->flags);
+       else
+               clear_bit(CONFIG_MONITORING, &rt2x00dev->flags);
+
+       rt2x00dev->curr_band = conf->chandef.chan->band;
+       rt2x00dev->curr_freq = conf->chandef.chan->center_freq;
+       rt2x00dev->tx_power = conf->power_level;
+       rt2x00dev->short_retry = conf->short_frame_max_tx_count;
+       rt2x00dev->long_retry = conf->long_frame_max_tx_count;
+
        /*
         * Some configuration changes affect the link quality
         * which means we need to reset the link tuner.
@@ -271,20 +287,4 @@ void rt2x00lib_config(struct rt2x00_dev *rt2x00dev,
                                   &rt2x00dev->autowakeup_work,
                                   autowake_timeout - 15);
        }
-
-       if (conf->flags & IEEE80211_CONF_PS)
-               set_bit(CONFIG_POWERSAVING, &rt2x00dev->flags);
-       else
-               clear_bit(CONFIG_POWERSAVING, &rt2x00dev->flags);
-
-       if (conf->flags & IEEE80211_CONF_MONITOR)
-               set_bit(CONFIG_MONITORING, &rt2x00dev->flags);
-       else
-               clear_bit(CONFIG_MONITORING, &rt2x00dev->flags);
-
-       rt2x00dev->curr_band = conf->chandef.chan->band;
-       rt2x00dev->curr_freq = conf->chandef.chan->center_freq;
-       rt2x00dev->tx_power = conf->power_level;
-       rt2x00dev->short_retry = conf->short_frame_max_tx_count;
-       rt2x00dev->long_retry = conf->long_frame_max_tx_count;
 }