Merge remote-tracking branch 'sound-asoc/for-next'
[linux] / net / mac80211 / cfg.c
index 2493c74..d65aa01 100644 (file)
@@ -1231,6 +1231,11 @@ static void sta_apply_mesh_params(struct ieee80211_local *local,
                        ieee80211_mps_sta_status_update(sta);
                        changed |= ieee80211_mps_set_sta_local_pm(sta,
                                      sdata->u.mesh.mshcfg.power_mode);
+
+                       ewma_mesh_tx_rate_avg_init(&sta->mesh->tx_rate_avg);
+                       /* init at low value */
+                       ewma_mesh_tx_rate_avg_add(&sta->mesh->tx_rate_avg, 10);
+
                        break;
                case NL80211_PLINK_LISTEN:
                case NL80211_PLINK_BLOCKED:
@@ -1447,6 +1452,9 @@ static int sta_apply_parameters(struct ieee80211_local *local,
        if (ieee80211_vif_is_mesh(&sdata->vif))
                sta_apply_mesh_params(local, sta, params);
 
+       if (params->airtime_weight)
+               sta->airtime_weight = params->airtime_weight;
+
        /* set the STA state after all sta info from usermode has been set */
        if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) ||
            set & BIT(NL80211_STA_FLAG_ASSOCIATED)) {
@@ -1746,7 +1754,9 @@ static void mpath_set_pinfo(struct mesh_path *mpath, u8 *next_hop,
                        MPATH_INFO_EXPTIME |
                        MPATH_INFO_DISCOVERY_TIMEOUT |
                        MPATH_INFO_DISCOVERY_RETRIES |
-                       MPATH_INFO_FLAGS;
+                       MPATH_INFO_FLAGS |
+                       MPATH_INFO_HOP_COUNT |
+                       MPATH_INFO_PATH_CHANGE;
 
        pinfo->frame_qlen = mpath->frame_queue.qlen;
        pinfo->sn = mpath->sn;
@@ -1766,6 +1776,8 @@ static void mpath_set_pinfo(struct mesh_path *mpath, u8 *next_hop,
                pinfo->flags |= NL80211_MPATH_FLAG_FIXED;
        if (mpath->flags & MESH_PATH_RESOLVED)
                pinfo->flags |= NL80211_MPATH_FLAG_RESOLVED;
+       pinfo->hop_count = mpath->hop_count;
+       pinfo->path_change_count = mpath->path_change_count;
 }
 
 static int ieee80211_get_mpath(struct wiphy *wiphy, struct net_device *dev,