On 10/23/2018 12:53 PM, Johannes Berg wrote:
On Tue, 2018-10-23 at 12:19 -0700, Ben Greear wrote:
Oct 23 12:11:05 ben-ota-2.candelatech.com kernel: Assigning beacon-in-gcd to: 240 from wdev: vap39
Oct 23 12:11:05 ben-ota-2.candelatech.com kernel: beacon-int-diff, beacon-int-gcd: 240 new-beacon-int: 100
This new-beacon-int 100 seems strange and suspicious. Why is it even
trying to look at this? Hmm.
Maybe we need to clear beacon-interval back to 0 on admin down of the wifi dev?
We should be doing this, we should end up in __cfg80211_stop_ap() and
that does clear it? Hmm... perhaps this _fails_ somehow, and we don't
clear it in the error path? I suppose we really should make that
unconditional because there's nothing we can do to recover from that
error ...
I am suspicious about this... that is not the same memory location as wdev->beacon_interval,
so maybe this is the thing that is not properly cleared?
if (sdata->vif.type == NL80211_IFTYPE_AP ||
sdata->vif.type == NL80211_IFTYPE_MESH_POINT) {
/*
* always passing this is harmless, since it'll be the
* same value that cfg80211 finds if it finds the same
* interface ... and that's always allowed
*/
params.new_beacon_int = sdata->vif.bss_conf.beacon_int;
}
Thanks,
Ben
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com