[wireless-regdb] [PATCH] regulatory: fix world regdomain

Seth Forshee seth.forshee at canonical.com
Mon Dec 14 05:13:47 PST 2015


On Fri, Dec 11, 2015 at 05:45:19PM +0100, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg at intel.com>
> 
> Back in 2012, in commit 6d87df6f9657 ("regdb: allow 40 MHz on world
> roaming channels 12/13") I evidently broke the world regulatory data
> to the point where it was always discarded by the kernel because the
> 40 MHz bandwidth doesn't fit into the rule range.
> 
> Around the same time, I updated the in-kernel regulatory domain with
> the same mistake, but unlike the userspace data, the in-kernel data
> isn't actually checked for validity.
> 
> The end result was that the (inconsequentially invalid) data in the
> kernel was always used because the userspace data was rejected.
> 
> Fix this by changing the rule to 20 MHz and adding the AUTO-BW flag.
> It seems that Janusz had made a similar change in commit 5cfc8073ce35
> ("wireless-regdb: set AUTO bandwidth for world regulatory"), but it
> was reverted for unknown reasons a little less than half a year later
> (commit cfa3734b11b2).
> 
> The kernel uses very similar invalid rules, but it never checks them
> for validity and just uses them, so HT40- ends up getting enabled on
> these channels. Thus, when the kernel requests the world regdomain
> from userspace, gets the invalid data and rejects it, it falls back
> to using the built-in data which is very similar and not validated.
> 
> I've tested this now, and the ruleset is now accepted by the kernel
> and results in the correct data.
> 
> This also means that Jouni's 160 MHz fixes were inconsequentialy and
> only the corresponding kernel changes could have been used.
> 
> Signed-off-by: Johannes Berg <johannes.berg at intel.com>

Applied, thanks.



More information about the wireless-regdb mailing list