ath: optimize processing of CTLs for country IEs for world roaming cards
authorLuis R. Rodriguez <rodrigue@qca.qualcomm.com>
Thu, 8 Dec 2011 18:29:24 +0000 (23:59 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 13 Dec 2011 20:30:59 +0000 (15:30 -0500)
commitde1c732b1891a25f3f2f52ef7211a3d567bbd588
tree26344ca9e3f854d99d154fd3a7a06c788ffcbb0d
parent43fcb430a4cfb7bd7c82600edeb3ca65f202a5f3
ath: optimize processing of CTLs for country IEs for world roaming cards

When we receive a country IE hint and we have a world roaming card
we can optimize output power further by ensuring that we use the
calibrated data for the country by using that country's own CTL data.
That is -- when world roaming and when we process a country IE we
no longer need to use the lowest output power of all CTLs instead
we use an optimized CTL output power for that specific country.

We accomplish this by copying the regulatory data prior on init
and restoring it when cfg80211 tells us it gets a core hint. Core
hints are only sent on init and when it wants to restore reguulatory
settings. We take advantage of this fact and apply the cached
regulatory data when we get a core hint. When we get a country IE
hint though we process the regulatory data as if programmed for
a specific country.

Tested-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath.h
drivers/net/wireless/ath/regd.c