mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 07:40:55 +07:00
mac80211: fix for mesh sync to indicate TBTT adjustment
Currently the mesh sync code checks, whether peers indicate TBTT adjustment, but it never sets the corresponding flag itself. By setting ifmsh->tbtt_adjusting to true, it will set the corresponding field in the mesh configuration IE of own beacons. This indication will be set in the current beacon. The TBTT adjustment will be performed afterwards, affecting the next beacon. Thus, the first beacon with stable TBTT will not indicate adjustment anymore and peers will continue tracking the new offset. Signed-off-by: Marco Porsch <marco.porsch@etit.tu-chemnitz.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
c04d61500d
commit
372039031c
@ -195,11 +195,15 @@ static void mesh_sync_offset_adjust_tbtt(struct ieee80211_sub_if_data *sdata)
|
||||
ifmsh->sync_offset_clockdrift_max);
|
||||
set_bit(MESH_WORK_DRIFT_ADJUST,
|
||||
&ifmsh->wrkq_flags);
|
||||
|
||||
ifmsh->adjusting_tbtt = true;
|
||||
} else {
|
||||
msync_dbg(sdata,
|
||||
"TBTT : max clockdrift=%lld; too small to adjust\n",
|
||||
(long long)ifmsh->sync_offset_clockdrift_max);
|
||||
ifmsh->sync_offset_clockdrift_max = 0;
|
||||
|
||||
ifmsh->adjusting_tbtt = false;
|
||||
}
|
||||
spin_unlock_bh(&ifmsh->sync_offset_lock);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user