Add NULL check for vdev pointer passed to the regulatory
component to avoid NULL pointer dereference
Change-Id: Ia49ef8ddebab42da5f28f09fb5f7b2b81d91a3b8
CRs-Fixed: 2147328
According to the updates of Regdomain_23 submitted on 2017-5-18,
added two pulses (ETSI 302-502) in the static ETSI radar table for
ETSI11 regdomain.These two pulses are applicable only for 5.8GHz
(greater than 5.725 GHz) channels.
Change-Id: I2f1e5535040ced9847eedff65dbe892e4d0fb056
CRs-Fixed: 2145124
Problem:
For JAPAN_48 country, channel list does not show frequency 4912, 4915,
4917 and 4920. This is because FW sends low limit 5g as 4912 which is
a center frequency of 4.9GHz channel. In the current implementation,
Host finds the low 5GHz edge frequency by subtracting 10 from channel
center frequency. For example, channel center frequency is 4912 after
subtracting 10 the low 5GHz edge frequency is 4910. Since 4910 is less
than FW low limit 5GHz (4912), Host discards 4912 frequency from it's
channel list.
Solution:
FW should send low limit 5GHz as 4910 to consider 4912 as low 5GHz edge
frequency and Host should use min and max bandwidth from regulatory
channel to calculate low 5GHz edge frequency.
Change-Id: Ib712bd6ff091a385c7dc95832f9c771e34100211
CRs-Fixed: 2124135
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.
Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141061
PO = Partial Offload
FO = Full offload
If the channel list preparation is handled in the same thread
of execution then call to scheduler is not required.
Change-Id: I46bf07ac14c1101de5e00165f34e937ab939659e
CRs-Fixed: 2124580
Problem:
Memory is allocated for avoid_freq_ind in reg_call_chan_change_cbks
function and freed when avoid_freq_ind is NULL.
Solution:
Memory is freed when avoid_freq_ind is not NULL.
Change-Id: I263441c5b05755054ee581b20af191d93c3dea5e
CRs-Fixed: 2124580
Problem:
In 2.4GHz Taiwan country code, channel 8 shows HT40PLUS/HE40PLUS
supported. As per latest regulatory sheet, channel 8 should
support only HT20/HE20 and HT40MINUS/HE40MINUS.
Root Cause:
When populating the master channel list, channel 12 is marked as
enabled for bw 10MHz. Therefore, for channel 8 HT40PLUS/HE40PLUS
flag is enabled.
Solution:
Channel map defines the min and max BW for each channel. The
solution here is to define the (min, max) as (20, 40)MHz instead
of (2, 40)MHz for 2GHz channels. That way, channel 12 would not
be marked as enabled for TW.
Change-Id: If208c23d1341f7fc90d6714ec09de6deafc455d4
CRs-Fixed: 2124202
When build driver as static module with kernel,
the reg_get_dfs_region function name conflicts
with kernel function.
Fix by rename reg_get_dfs_region to
reg_get_current_dfs_region.
Change-Id: If2908f37c338b1dbf8290d10838f53848637271c
CRs-Fixed: 2127803
Problem:
Channel list validation is failed for Algeria country code where
regulatory frequency 5660 is not present in the channel list.
Solution:
Add frequency 5660 to Algeria country channel list.
Change-Id: Ie023a4f1dd54829a891dd08ddeffb527605a0797
CRs-Fixed: 2124092
Regulatory spec changes(Regdomain_23).
Added below changes:
* Add new country Gibraltar.
* Create APL19_ETSIC for India to support -5875 Channels.
* Remove legacy MKK regdomains.
* Change default Japan country mapping to Japan15.
* Add MKK16_MKKC outdoor-only regdomain.
* Add APL17_ETSID, APL23_WORLD, FCC13_WORLD, APL20_WORLD,
FCC14_FCCB regdomain pairs.
* Assign FCC14_FCCB for PANAMA.
* Change APL14 and APL15 UNII3 power.
* Assign ETSI8 for Russia to remove DFS.
* Assign 2MHz minimum bandwidth for ETSI1 and ETSI4.
Change-Id: I59f297328fe8ff3c5ace979370ef21570560c71a
CRs-Fixed: 2081279
For no offload case, channel map is needed to calculate
regulatory channels. So initialize channel map when dfs region
is set.
CRs-Fixed: 2104133
Change-Id: Iee406b89429588185488acef23380b6cfa8f2af9
Do not notify supplicant of 5G LTE avoid channel range if ini
restart_beaconing_on_chan_avoid_event is set to CH_AVOID_RULE_RESTART_24G_ONLY.
Change-Id: Ide862882f4cf871688880653ec5c746e4c2dce38
CRs-Fixed: 2098933
The default 11d scan interval is 1 hour. But make the 11D scan interval
programmable by user to test different intervals. Therefore provide INI
for the same.
Change-Id: I36dbe8b87d4175e51bf2f275b8203ba9609a0625
CRs-Fixed: 2088739
By default channel 144 is enabled. Support added to disable
channel 144 through iwpriv command.
Change-Id: I0a193571c2ca36e0cedcac19851459448fc141cf
CRs-Fixed: 2076792
Analysis:
Seen kernel panic when setting the NULL country code in FW.
Solution:
Send an indication to Offload layer if Firmware fails to set
the country code.
Change-Id: Ic01ee170cfca31d840236625c1d1497426eafc68
CRs-Fixed: 2083318
Depending upon the operating class that the wlan device is operating
in, the channel enumeration can be different. Like in Japan operating
class, the 4.9 Ghz channels have different numbering than the US public
safety channels in US operating class. Therefore use the IEEE80211
defined operating classes and channel numbering.
Change-Id: Id4c20b6295e5d7062a3d1a9516f7c175a9bb71f0
CRs-Fixed: 2048784
Add API to get regdomain pair ID, 2GHz/5GHz regdomain,
2GHz/5GHz ctl values and dfs domain. For Partial-offload,
during country code change HOST sends these values to FW.
Change-Id: I718813d7559ea1564e0952221a881589c6f3cd0d
CRs-Fixed: 2058130
Number of reg rules in APL16 regdomain was 3. Therefore,
supported channels shows from 36 through 116.
Updated number of reg rules to 5 to enable the channels
from 36 through 165.
Change-Id: I1d7d95629e19facf7751ccae6f60aeef6eda1ba3
CRs-Fixed: 2075975
Regulatory spec changes(Regdomain_23).
Removed below country codes from the regulatory database.
* IRAN
* KOREA NORTH
* SYRIA
Change-Id: Ieedfe73d0b6c2192027038f63f6ca4369666cf2a
CRs-Fixed: 2074470
In worst case, different pdevs can be in different countries and
hence different reg-domains. Also there could be differences due
to front-haul and back-haul.
Change-Id: Ib9e998b5f7de4e42a1736d07e9e5602d8506e7b6
CRs-Fixed: 2048784
11d scan is scheduled every one hour.The HOST can
be asleep when new country is found. So add 11d
scan as wakeup event.
Change-Id: I495c010b9c1224ab17fc0b082292befaa6b4f1e8
CRs-Fixed: 2057841
Remove vdev/peer locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.
Change-Id: I9972d51dfd1a42bdedbfd0fd4e67af03d030a1f5
CRs-Fixed: 2060880
Remove psoc/pdev locks from trivial API's. This follows the changes from
which the lock requirement from few simple APIs are removed.
Change-Id: Ib5769c2234c8d57f485c0eef5a4e3c61fa170508
CRs-Fixed: 2060880
Update regdomain database to "Country Table Changes Submitted 2016-10-31"
regdomain spreadsheet. It includes the following changes:
* Create new regdomain APL16_World and assign it to Argentina.
* Assign APL15_WORLD to BAHRAIN and INDIA
Change-Id: I31241847f224402bc7f125b3ed64a12ebf76242c
CRs-Fixed: 2058078
Regulatory component needs to listen to vdev messages in order to track
whether a master mode vdev is getting created or destroyed. It is also
used to kick-start the state machine. Also re-run the state machine when
user-space country code is set.
Change-Id: I5112396314a936f84dad2f0e07329f9cb237aa78
CRs-Fixed: 2048784
Add support to send 11d scan start and stop commands to FW and
process the 11d new country update event from FW.
Change-Id: I5c1588cfb5af672cdb5738784de1bd0b83bdbe77
CRs-Fixed: 2048784
Offload layer uses low and high 2GHz/5GHz freq ranges and chip
supported wireless modes to populate umac ic channel list.
Change-Id: I899edd83548d68e67659b3a9273ddaaaf740540b
CRs-Fixed: 2047212
offload_enabled flag is set to true for full-offload.
Currently full-offload is using HOST regdb, therefore set
country code and get country is failing.
Change-Id: Idd3a7300bcc1ec1934e7258c87d5bd989ecaf5bf
CRs-Fixed: 2047212
Compiler does not allow very large local variable/array.
Error: 'the frame size of 1512 bytes is larger than 1190 bytes'
Change-Id: Ic74543c25fcb46596d49e9c0bb60f1f3c6f3f16c
CRs-Fixed: 2047212
For dynamic master channel list, compute per pdev current channel
list as well. Provide API for user to register callback to be called
whenever current channel list for a pdev changes.
CRs-Fixed: 2012415
Change-Id: Ie86a719306178a1c3579c2b534a52a12ec3e0b1d
The current channel list maintained per pdev can be modified from
multiple entry points. Define a generic framework to compute the
new current channel list. This helps in isolating the current
channel list computation.
Change-Id: Id5eb1bb6b66ba50c90387bdc76bb95497945a5a8
CRs-Fixed: 2012415
Country ALGERIA uses APL13_WORLD regdomain pair.
Add 40MHz support to 5GHz and 2GHz for EGYPT.
Add 20MHz support to 5GHZ for KOREA_NORTH.
Change-Id: Ibb063aefa06e905eb57ad61d7e2d53db1a7d33a5
CRs-Fixed: 2047212