2019-01-15 23:29:43

by Ben Greear

[permalink] [raw]
Subject: ath10k and min_gcd + adhoc issues in 4.20 kernel

I just updated to 4.20 and ported forward my ath10k patches. Now the driver
will not register with mac80211 because this warning hits in net/wireless/core.c:

/*
* This isn't well-defined right now. If you have an
* IBSS interface, then its beacon interval may change
* by joining other networks, and nothing prevents it
* from doing that.
* So technically we probably shouldn't even allow AP
* and IBSS in the same interface, but it seems that
* some drivers support that, possibly only with fixed
* beacon intervals for IBSS.
*/
if (WARN_ON(types & BIT(NL80211_IFTYPE_ADHOC) &&
c->beacon_int_min_gcd)) {
return -EINVAL;
}


It looks like this was triggered by:

Commit 0c317a02ca982ca093e71bf07cb562265ba40032
Author: Purushottam Kushwaha <[email protected]>
Date: Wed Oct 12 18:26:51 2016 +0530

cfg80211: support virtual interfaces with different beacon intervals

and

commit 8ebee73b574ad3dd1f14d461f65ceaffbd637650
Author: Anilkumar Kolli <[email protected]>
Date: Wed Mar 28 12:19:40 2018 +0300

ath10k: advertize beacon_int_min_gcd


To be honest, I don't see why that check for beacon_int_min_gcd is in the registration
logic. Having it be '1' means that the driver/nic/firmware is flexible on pretty much
any combination of beacon interval, so why should that trigger the WARN_ON case?

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com



2019-04-04 20:45:19

by Ben Greear

[permalink] [raw]
Subject: Re: ath10k and min_gcd + adhoc issues in 4.20 kernel

Hello,

Any comments on this below?

Thanks,
Ben

On 1/15/19 3:29 PM, Ben Greear wrote:
> I just updated to 4.20 and ported forward my ath10k patches.  Now the driver
> will not register with mac80211 because this warning hits in net/wireless/core.c:
>
>             /*
>              * This isn't well-defined right now. If you have an
>              * IBSS interface, then its beacon interval may change
>              * by joining other networks, and nothing prevents it
>              * from doing that.
>              * So technically we probably shouldn't even allow AP
>              * and IBSS in the same interface, but it seems that
>              * some drivers support that, possibly only with fixed
>              * beacon intervals for IBSS.
>              */
>             if (WARN_ON(types & BIT(NL80211_IFTYPE_ADHOC) &&
>                     c->beacon_int_min_gcd)) {
>                 return -EINVAL;
>             }
>
>
> It looks like this was triggered by:
>
> Commit 0c317a02ca982ca093e71bf07cb562265ba40032
> Author: Purushottam Kushwaha <[email protected]>
> Date:   Wed Oct 12 18:26:51 2016 +0530
>
>     cfg80211: support virtual interfaces with different beacon intervals
>
> and
>
> commit 8ebee73b574ad3dd1f14d461f65ceaffbd637650
> Author: Anilkumar Kolli <[email protected]>
> Date:   Wed Mar 28 12:19:40 2018 +0300
>
>     ath10k: advertize beacon_int_min_gcd
>
>
> To be honest, I don't see why that check for beacon_int_min_gcd is in the registration
> logic.  Having it be '1' means that the driver/nic/firmware is flexible on pretty much
> any combination of beacon interval, so why should that trigger the WARN_ON case?
>
> Thanks,
> Ben
>


--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com