Currently channel width has different enum values in
different modules. Move the channel width enum definition
to CDS to maintain single channel width enum value in
the driver
Change-Id: I6a46d0c02546263080a15a3ec7c52486fc51e98e
CRs-Fixed: 983914
Add kernel documentation for regdomain data structures. Also
rename some of the data structures to better names.
Change-Id: Iae26079ae8a7f06e2670594694ae36c2c2a0a524
CRs-Fixed: 961806
Data structures defined in cds_regdomain_common.h are similar
to those defined in cds_regdomain.h. Therefore remove the file.
Change-Id: I929b03058e9441e4a652314789cf91dbd94d0329
CRs-Fixed: 961806
Fix the enum value used while calculating the regulatory class
from the operating channel. Currently, the channel width is of
type 'enum ch_width' whereas the expected enum is of type
'offset_t'. Fixing the same by performing the enum conversion
before calculating the regulatory class to avoid incorrect
value of regulatory class.
Change-Id: I6aabb8ae78836e3c640f41b27e10830adc91a57e
CRs-Fixed: 986246
Enable feature flag FEATURE_WLAN_MCC_TO_SCC_SWITCH in the Kbuild to
make use of the MCC to SCC switch feature. The resulting errors in
compilation are fixed along with some enhancement in the debug logs
in this feature path
Change-Id: I0ddb2f371c28ade6d8fc9ea12ba104a99394827f
CRs-Fixed: 986079
Add support for setting channel width for CSA and modify the
SAP DFS channel width fallback algoritham to support DFS for
80+80Mhz and 160Mhz bandwidth. Also, compile out channel matrix
restriction from channel selection process after radar
indication is received for newer platforms and only compile
for older platforms
Change-Id: I771fc162b18aa1e485c513046a265b2d94612972
CRs-Fixed: 964262
Add support to perform CAC when SAP comes up in 160MHz
or 80+80MHz with any of the 80MHz band is DFS band.
Change-Id: If24d6cd325f747934195598ffe0f456eea939026
CRs-Fixed: 964262
Fix potential null pointer access during sap open
session and validation of the session id which could
be reported during static code analysis.
Change-Id: I6146c7223c586df06c08c76abd9e38a3c1ad1c4b
CRs-Fixed: 979960
Currently the SME session is deleted during interface change API and
a new session is not opened until SAP is ready to start. This will
cause crash when scan API is invoked. This fix opens the SME session
after interface type is changed, so that it can be used to scan and
SAP later.
Change-Id: I3c4f8da14dbc70a3102fb1892bb101eb1a90a00d
CRs-fixed: 968572
Redefine dfs filter type to avoid prealloc problem by making one
large chunk into multiple smaller chunks.
With current data structure, dfs attach was requesting huge chunk
of memory from the heap which results in failure. This change set
fixes the issue by modifying the data structure so that one
large chunk is made as multiple smaller chunks.
Change-Id: If944747de63a68d55a83b8595d0a07dd05f53dbe
CRs-Fixed: 975903
Re-arrange core regulatory code between HDD and CDS
layers. Move the OS dependent code to HDD.
Change-Id: I8ac26a48d0e8d613b2f6c23fd764e5cf94365c39
CRs-Fixed: 856727
Fix memory leak in dfs module by removing check for the board id.
During dfs_attach dfs_hw_bd_id was zero, so memory was allocated for
pulses_ext_seg but in wma registration process correct board was
updated. In dfs_detach while freeing the memory we check for the
board id and we leaked the memory for pulses_ext_seg.
Change-Id: Ica9719cc4cd67e895fad850c59c753d39473f46d
CRs-Fixed: 974299
Fix the reason code used during Nss update request. If
there is MCC upgrade or DBS downgrade, the hw mode change
request internally send the Nss update request. But, the
current implementation uses the same fixed reason code
during Nss update request and due to this on receiving the
hw mode change response, the expected callback function is
not getting invoked. Fix this by passing the right reason
code during Nss update request.
CRs-Fixed: 978663
Change-Id: I706cb9a86d66d8601ec87f560459604e562f6037
Ensure that application triggered channel switch impacts only the
interface of interest. eSAP_DFS_CHNL_SWITCH_ANNOUNCEMENT_START
gets used for both radar detected channel switch and application
triggered channel switch using ioctl or nl commands. On radar
detected channel switch, if radar was detected by one of the SAP
interface, all SAP interfaces in the driver would vacate the
channel. In application triggered channel switch, only the
interface of interest should vacate the channel.
Change-Id: I8eee8bde89ae44eec31c1bd35a99a78e517b4a5e
CRs-Fixed: 969323
Introduce DFS-3 support changes in DFS layer.
Add support for per segment based queuing, processing
and pattern matching of the radar events in 80+80 channel
width mode, when both segments are dfs.
Also, add support for parsing the new DFS-3 radar summary
report and extract the segment ID on which a phyerror is
seen. Report the segment ID on which the radar has been
detected to the WMA layer to add only radar detected 80MHz
segment channels to be added to NOL in 80+80 MHz channel
width mode.
Change-Id: Ib9ed2122844cef5fde2b632accc8c798e86bf7a3
CRs-Fixed: 964262
qcacld-2.0 to qcacld-3.0 propagation
The sap Context related phyMode should be used
instead of the phyMode in hal. Otherwise, the incorrect
channel width will be reported to supplicant.
Change-Id: Ic0ce7861a786de5aef8b43c6aa0fde9f600b08b2
CRs-Fixed: 909668
Remove typedef tPowerdBm. Rename and use linux style for channel
enum, channel state, channel power and country source data
structures.
Change-Id: Iebc59e6f001ccdb403c7445f4cea02c6a8141366
CRs-Fixed: 856727
Remove the 4.9 GHZ channels from the driver stack.
4.9 GHZ channels are not being used for any country,
so remove them.
Change-Id: I135f997bb4c8ad7a536596b4e89eb037f41e0c73
CRs-Fixed: 856727
Change regulatory data structures and APIs to linux style.
Change the references to the data structures accordingly.
Leave data structures that would be deleted in subsequent
iterations as is.
Change-Id: I68dcd3485d3fb3d98f648b5844508356c3f3c29d
CRs-Fixed: 856727
Remove the local country to regdomain mapping in the driver.
Return a fixed regdomain index 0 to the caller. Also update
copyright for cds_regdomain.h for 2015.
Change-Id: I33e0a861b0a3bd95b20becb2d765b8300688ec4c
CRs-Fixed: 856727
WLAN_FEATURE_MBSSID flag is originally added to support MBSSID,
specifically for the MOBILE ROUTER build, and is now enabled for all
builds, there is no longer needed to have a separate feature flag,
so that removing it.
This commit cleans up the following modules - cds/mac/sap/sme.
Change-Id: I79ad9767b7945af0c567b6294ac07e7697898e9e
CRs-fixed: 958154
Add support to include channel bandwidth as one of the inputs to
decide the channel switch parameters. Currently only the target channel
is used as the input to decide the channel switch parameters. With this
fix, user specified channel bandwidth is also taken into consideration.
Change-Id: Ic49b24edde6cabc52aa2b38110763da82da6790d
CRs-Fixed: 955368
Remove the CB mode usage in channel bonding since the center
center frequency is calculated using channel width and channel
number.
Change-Id: Ie9685a833750bf3b69cce40c5d9587fb9b232047
CRs-Fixed: 962174
qcacld-2.0 to qcacld-3.0 propagation.
If MC thread stall while waiting on any event, In case of WPS,
probe requests may get accumulated in PE message queue.
Now every time MC thread process a probe request,
eWNI_SME_MGMT_FRM_IND msg is posted in SME message queue. But
unless PE queue is fully processed SME queue won't be processed.
This will gradually use all vos message wrapper.
To avoid this register a callback to send management frame
indication directly to HDD from PE which avoids posting message to
SME queue.
Change-Id: Ib83700825112cc52dade594909bfa8993909ac29
CRs-Fixed: 944961
qcacld-2.0 to qcacld-3.0 propagation
Add support in driver for a new vendor command to get
the link properties nss, rate flags and operating
frequency.
Change-Id: Ie3b8d5b2c3886055d303441c5d8b2f2a0a2719bd
CRs-Fixed: 834199
Currently as part of application triggered channel switch both the
channel bandwith and bonding mode are limited to 20MHz.
Change made to properly update the channel width and bonding
parameters.
Change-Id: I48297eed74c9e3bfed6fefa67f664f3503fac1f6
CRs-Fixed: 944647
qcacld-2.0 to qcacld-3.0 propagation
dfs_radar_found variable will be accessed in different context
so protect the same with mutex lock and synchronize the channel
switch triggered by application and dfs module.
Change-Id: I724d22cde9a77c187a17dffef13a9b4c9b2c27da
CRs-Fixed: 809527
qcacld-2.0 to qcacld-3.0 propagation.
1)Validate channel switch w.r.t concurrency rules set and switch
channel only if there is no channel interference.
2)Disable channel bonding in 2.4Ghz on switching channel to 2.4Ghz band
to avoid violating OBSS feature.
Change-Id: I81992b2c2876a32eba52010e72c4300608067e58
CRs-Fixed: 809527
qcacld-2.0 to qcacld-3.0 propagation.
Implement:
1. Send & receive logic of ECSA action frame from P2P-CLI/GO
2. Trigger channel change on P2P GO side once ECSA action frame
is received by,
i) Adding CSA & ESCA IE in beacon template and updating
FW to send it out
ii) Notifying supplicant of channel change for P2P GO.
This change include UMAC changes.
CRs-fixed: 895240
Change-Id: Ie6c9154fb44ec75c699e37aaba660c637869c099
qcacld-2.0 to qcacld-3.0 propagation
This fix removes redundant cdf_mem_zero and cdf_mem_copy
Change-Id: I757a2e14358403b7950868fd81d8e58ab3f829df
CRs-Fixed: 796971
cds_get_bin.h and cds_get_bin.c were derived from qcacld-2.0
vos_get_bin.h and vos_get_bin.c. These files got their names
since at one time they housed the wrappers used to retrieve
binary files nv.bin, cfg.dat, and firmware. But over time the
functionality to actually retrieve binary files (get_bin) has
been removed, and almost all that is left is concurrency
management functions. So, moving the .[ch] functionality to
the right files.
CRs-Fixed: 932777
Change-Id: I4a26c304cc6b6224d0839c365e4006fd32270961