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 <gree...@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

Reply via email to