propagation from qcacld-2.0 to qcacld-3.0.
On Dual-WiFi Platforms, Radio Device 1 (R1 - SDIO interface) should
be functional only if Radio Device 0 (R0 - PCIe interface) is active.
If SSR is indentified on R0, indicate userspace application to unload
R1 on this event and Reload R1 once R0 SSR and reload is complete.
CRs-Fixed: 1046397
Change-Id: I8a06b569fe536bb93dbb37bdb289295bfce62f6e
qdf_mem_cmp api returns zero when comparison string matches
else returns non zero. Checking return value with true/false
can cause confusion and errors.
Replace the return value check from true/false to
zero/non-zero values.
Change-Id: I485d69a4bf85d1e6273ea780af6d0423c3910686
CRs-Fixed: 1066946
qcacld-2.0 to qcacld-3.0 propagation
Currently when PE queue is full, timer message gets queued at the
end of PE queue even when timer gets expired in time. This causes
delay in processing timer messages. This delay can be maximum if
timer message is the last message in PE queue. This can take substantial
amount of time to process timer message as timer message will be
processed only after processing of other messages. For instance,
if timer message processing takes substantial amount of time during
scan, it can delay sending max channel timeout and may result in
scan timeout. So, add timer related messages at
the top of PE queue to process those messages immediately.
Change-Id: Iccaf0075c97a7edd2c1de1d168f1a4e7d01381c2
CRs-Fixed: 936179
Send HT/VHT CAPs IE to firmware per band. This will allow certain
features like LDPC to be configured per band.
Change-Id: I21c83af984f9be3ade46121ef148b52568c3ad0f
CRs-Fixed: 1055774
(cherry picked from commit 2a94c5666ea0c66477d0086c8d5a401db8e4afcf)
qcacld-2.0 to qcacld-3.0 propagation.
In current implementation, RA filter is enabled irrespective of the
BPF filter status. This change checks if BPF configuration in ini as
well as in target config is enabled, then RA will be disabled.
Change-Id: I85df0828af665d2bcc13c865b0ba40ebf882fffe
CRs-Fixed: 1058884
(cherry picked from commit 8dda6e83eb85ef9f0342ab23954e093c6dfebe2e)
Currently Host configures MaxTxPower as 22dbm
during join which fails the TRP requirement to meet
23dbm.
Change the code to configure the max tx Power to 30dbm
in FW during join.
Change-Id: I926288972e17a9276af2744d6a070b82333d5242
CRs-Fixed: 1023616
(cherry picked from commit 206e7dd1e735a3ff0a94f2d978b606dcf87e08fd)
Check for active STA and SAP connections before switching the operating
channel of SAP to a DFS channel. SAP moves to a DFS channel only if
this movement ensures that the SAP does not go off the DFS channel which
is needed for continuous radar detection.
The existing check looks for the number of open sessions. But these
sessions may or may not be active. So, replace this check with suitable
APIs which will check for active sessions.
Change-Id: Ib37427a9c62a785abb5e22c14ec23f09e60bf4b7
CRs-Fixed: 1063212
(cherry picked from commit d470e33f6d390b84dd98892a1b4526fd45348c2b)
Currently ani_global.h is included in qca-cmn,
The change removes ani_global.h and there are
corresponding changes in Driver
Change-Id: I59684e475406386e250635bde88390797835c95f
CRs-Fixed: 1012452
With the new statemachine cds start/stop will not be invoked without an
interface up from upperlayer. As part of cds stop host sends de-initialization
sequence to firmware, If there is no interface up from the upper layer and
driver gets removed, host driver dosent send the de-init
inidication to firmware and starts closing its modules because of this
fw & host are out of sync.
To migitate the issue send the de-init sequence during if the modules are
opened but not enabled.
Change-Id: Ice85f995a870e69e52b4fcf2fac13761bf1a63a1
CRs-Fixed: 1060893
Host is not handling target initial wake up properly which is
leading to resume failure. Fail PM suspend request if target
has sent initial wake up message.
Change-Id: I7ac757dd7968f541935519da0689d7672f72d19b
CRs-Fixed: 1059543
During the driver load cds_cfg memory is allocated during the
hdd_Wlan_startup and cds_open. Since the memory allocated by the
cds_open overwrites the pointer of memory allocated by hdd_wlan_statup
during memory free only memory allocated by cds_open is freed resulting
in memory leakage.
To migitate this issue, allocate the memory for the cds config only once.
Change-Id: I01bf0e8110a2519a2e11da398be3c98f9ca4db8f
CRs-Fixed: 1055648
Fix incorrect memory comparison cds_is_mmie_valid.
In cds_is_mmie_valid(), while processing Rx Robust Management Frame
invalid condition usage results in incorrectly tagging the Rx packet for
replay attack. Similar invalid condition results in incorrectly
tagging the packets for MIC mismatch. This change will update the checks
so that Rx packets will not be dropped incorrectly.
Change-Id: I50974232db034029747e0af8c8b5b70959c4dcb7
CRs-Fixed: 1057261
US regulatory domain is FCC3_FCCA and not FCC8_FCCA. Fix that.
Also add regulatory domain APL8_WORLD to regulatory tables.
Bolivia and Nigeria map to APL8_WORLD.
Change-Id: I539d2720f08026a06669b1c5117523667dfcef52
CRs-Fixed: 1053513
In following conditions RX LDPC support needs to be enabled
1) when STA is coming up in 5G band
2) when IBSS is coming up in 5G band
for anyother cases RX LDPC needs to be disabled. If user has
choosen RX LDPC to be disabled from INI file then it needs to
be disabled for all the cases including above mentioned cases.
To achieve this, take the intersection of global, INI, and harware
specific RX LDPC settings.
Change-Id: Iae10aa4a8c0931cdb796cd9c8ff558d4bc8e0aed
CRs-Fixed: 1050004
Disallow host requesting for 2x2 chain if hardware is not capable of or
ini setting disabled it. Downgrade the request to 1x1 instead. No need for
waiting for NSS update to complete as all requests are serialized through
SME cmd queue.
Change-Id: Ifee4ce15771b57ac3cc1e85650c56f426c34c833
CRs-Fixed: 1037816
KR and CN have different DFS regions than what kernel provides.
Assign the correct DFS regions for KR and CN. Also use "enum
dfs_region" as the parameter type in functions that have
dfs region as parameter.
CRs-Fixed: 1047214
Change-Id: I2ddd67d3c29a448dd2a1d3a63113750783fb6731
Make MAS (MCC Adaptive Scheduler) commands to be PDEV
specific.
Two instances of OCS (Off Channel Scheduler) can exist
in the FW (one per MAC) and FW provides the option of
enabling and disabling MAS on a per MAC basis. But,
Host does not have enable/disable option for individual
MACs. So, the agreement with the FW is for the Host to
send down a ‘pdev id’ of 0. When ‘pdev id’ of 0 is used,
FW treats this as a SOC level command and applies the
same value to both MACs. So, irrespective of the value
of ‘WMI_SERVICE_DEPRECATED_REPLACE’ in the WMI service
bit map, the pdev id needs to be ‘0’ (SOC level) for
the WMI command
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID.
WMI command WMI_RESMGR_SET_CHAN_TIME_QUOTA_CMDID to set
the MCC quota is sent down as channel – value pairs.
The value being channel time quota and the channel being
sent down is a home channel. The additional requirement
from FW is that all the channels in a single WMI command
belong to the same MAC. FW asserts if the WMI command
mixes and matches home channels associated with
different MACs. So, although the PDEV ID is not part of
the WMI command struct, the cmd is in a sense PDEV
specific.
There is no change in the WMI command
WMI_RESMGR_SET_CHAN_LATENCY_CMDID to make it PDEV
specific since this WMI command always send only one
channel-latency pair to the FW. So, there shouldn’t be
any problem of FW receiving home channels associated
with different MACs, for this WMI command.
Change-Id: Ie22800e07bbeef65c43f9171de828533b982a06b
CRs-Fixed: 1052652
Changes to configure different rx data path rx_thread,
RPS or NAPI through ini parameters. Also added support
for RPS mask setting using cnss-daemon.
CRs-fixed: 1026370
Change-Id: I23ab8fe0f05245b38cf4b37e93da8fd99d4c1f68
Add support for 5/10 MHz channel width for STA and SAP role. To
enable/disable feature, following ini parameter will be used:
* gSub20ChannelWidth=0: indicates do not use Sub 20 MHz bandwidth
this is also the default value.
* gSub20ChannelWidth=1: Bring up SAP/STA in 5 MHz bandwidth
* gSub20ChannelWidth=2: Bring up SAP/STA in 10 MHz bandwidth
Change-Id: Ic6d534dc1eae60fcd2fb7533c934b9ea28e6dd78
CRs-Fixed: 1013211
In current driver, there is already an API called cds_allow_concurrency
which is functionally similar to csr_isconcurrentsession_valid. Remove old
API csr_isconcurrentsession_valid to have single API.
Change-Id: If81900af5cb7291917fe915b44af5cf763f16d46
CRs-Fixed: 1047054
Add support for pre CAC on SAP for the user requested channel.
The reason for the requirement is to have SAP operations without
interruptions due to CAC. After starting SAP on the 2.4GHz
channel, the driver will start a pre CAC on the 5GHz DFS channel
requested. If no radar is detected, SAP is expected to switch
from the 2.4GHz channel to the DFS channel mentioned in the pre
CAC request. If radar is detected SAP will continue to operate on
the 2.4GHz channel. To provide the pre CAC channel to the driver,
vendor commands/attributes are used .
Change-Id: I4cf4bb5a861eea05f37fafb3bf35d327f5377aab
CRs-Fixed: 1045242
Currently MCL driver loads/unloads when user tries to
Switch On/Off from GUI and load process is different
for the static and dynamic built driver.
With this feature, we shall have a uniform behavior for
static and dynamic driver, where the driver will be
loaded once and unload never.
Mode switch for different modes is supported via sysfs entries.
Change-Id: Ica49dd289d7f1f0ad0c56af76bd7bcfeca433a2e
CRs-Fixed: 1049218
P2P data traffic can be improved by creating TDLS
connection between two P2P clients.
Add changes in the host driver to enable TDLS
connection between two P2P clients.
Change-Id: I2a9fe21bb3be160428ab5d8f04281802faa5f21b
CRs-Fixed: 999560
In existing implementation, affinity lock is implemented as a spinlock.
The set_cpus_allowed_ptr API under the spinlock can cause the processor to go to
sleep. This is incorrect and causes a KERNEL bug when invoked.
Correct the issue by replacing spinlock with a mutex.
Change-Id: I844c19d18e6f71916592c4b35ff5f1a2b6cdbaa0
CRs-Fixed: 1046463
As part of "load once unload never" architecture, cds modules can
be opened and closed several times. Refactor the hdd callback registration/
de-registration into hdd_register_cb/hdd_deregister_cb which can
be invoked during the open/close of the modules respectively.
Change-Id: I2da9018ff2fa6188e61e007c896bc13e8fddcb7d
CRs-Fixed: 1026817
Update ini configuration parameters for cds modules in the driver,
this helps in avoiding layer violation of using the hdd context in
cds modules.
Change-Id: Iff149cc51ea5eacae4f84d83c51d0ed63834ba50
CRs-Fixed: 1026817
Currently the authtype is not getting updated properly in case
of wpa2psk security mode, this change will update the correct
auth type
Change-Id: I11d15457b375ed2803420cfd08070a7bbc181029
CRs-Fixed: 1044021
The chain mask in policy manager connection table needs to be updated
with the capability that HW advertises at load time intersected with
related ini configuration on host. The dynamic change of the chain
mask & NSS values will be handled only by chain mask manager in
firmware.
Change-Id: I250668c93920a63c9278aefe93491cb5aaa91ca7
CRs-Fixed: 1037816
Fix compilation error on disabling the MCC to SCC switch feature flag
FEATURE_WLAN_MCC_TO_SCC_SWITCH.
Change-Id: Id741f86d2e514c5dc5bfa8164ff37f56cd1ca630
CRs-Fixed: 1037396
Disallow any form of STA+SAP+P2P concurrency scenarios
since three port concurrency is not planned to be
supported currently. This is the only three port
combination that the user can exercise with the new
framework changes in place and hence disallowing this
combination to avoid crashes.
Change-Id: I384d4412e5790aaf34175f78163ec98b73588fea
CRs-Fixed: 1032912
With dual cluster system, to reduce cache miss issue and for
lower latency, RX thread should run on big cluster.
When high bandwidth detected by WLAN host driver,
RX thread should move to big cluster. And low
throughput required, RX thread should go to little core CPU
to reduce power consumption.
CPU affinity should controlled by Online CPU and throughput
requirement. Even high throughput is required, if PERF CPU is
not online, RX thread cannot attach to PERF CPU.
Change-Id: I85591d3c74973c40388a04353b1d32e009a46ec1
CRs-fixed: 1026370
gPolicyManagerEnable INI item is no longer needed. Remove this
INI item and make policy manager code enabled by default.
Change-Id: I57822f47325c03e940b2802fb02900c64d3587e1
CRs-Fixed: 1034888
gEnableM2MLimiation INI item is no longer needed. Remove entire
code related to this INI item.
Also, remove all concurrency related code defined for emulation platform
within QCA_WIFI_3_0_EMU MACRO
CRs-Fixed: 1034888
Change-Id: Iccfd1dd2935634d2552f4eaa5cd9d3ab59a7596a
In cds_complete_action API when cds_get_connection_for_vdev_id is
called to get connection index, it may return
MAX_NUMBER_OF_CONC_CONNECTION to notify that no such connection found.
up-on receiving this max number with current bug, the
cds_complete_action API goes in to infinite loop which causes driver to
crash at the end.
Fix this bug by updating API's loop correctly.
Change-Id: Iaf722afb4a450c66f976ad1a3ae4b697657216ef
CRs-Fixed: 1034888
qcacld-2.0 to qcacld-3.0 propagation
Add changes to support session and BSS creation in NDI mode.
CRs-Fixed: 962367
Change-Id: I585cd89702a2c412783ae93fb1558ed5bfe31fd9
qcacld-2.0 to qcacld-3.0 propagation
We do not support TDLS on DSRC AND DFS channels so skip
these channels in the TDLS frames.
Change-Id: I3ad523ab21d1383df189d3856f6e0759b1a2bb6a
CRs-Fixed: 975657
qcacld-2.0 to qcacld-3.0 propagation
In antenna sharing platform, if TDLS operates in the 5G band base
channel with NSS 2x2, it cannot accommodate 2G off channels in
TDLS operation. So in that scenario, 2G channels should be
skipped from TDLS off channels list.
Update driver to remove 2G band channels from supported off
channel list, when TDLS operates in 5G band base channel
with NSS 2x2.
Change-Id: I04aa00e1cecfae86570aa89d1743b54d55b2dc84
CRs-Fixed: 968206
VHT operation IE parameters values are changed in latest draft,
update the set_channel_params to set the new values as per latest
draft.
Change-Id: I2b8f78adb608bf942dff28eda44138044ba93e59
CRs-Fixed: 1022680
Ensure that the SAP operations make use of the mandatory
channel list during SAP channel selection with INI option
'gWlanMccToSccSwitchMode' set to the value of '4' which
will make use of this channel list while trying to avoid
MCC scenarios.
Change-Id: Ia43ee1d2c598c81a5ef0add9246c400577f6f694
CRs-Fixed: 1014128
TDLS implicit trigger mode works based on data traffic without
user intervention. When the traffic meets setup threshold,
TDLS connection is initiated and when the traffic
reaches a teardown threshold/rssi TDLS connection
is torn down.
Add TDLS connection tracker in the host driver to determine,
when to initiate and teardown the TDLS connection based
on data traffic.
Change-Id: I995ea9c391372515faabe5086b638f254b6b93d7
CRs-Fixed: 996988
Enhance debug information related to scan results
like adding SSID and time stamp of beacon in logs
Change-Id: Ib85dffff39d0db69a695e8167b6a221b51ef7d45
CRs-Fixed: 1013236
All the regulatory and channel management functionality
moved to CDS.
Cleanup the SME redundant functionality related to channel
parameters generation and update all the code references
to CDF API's
Change-Id: Iaf4e15b4ebb7107d8bbf7a54e42f9ea9358dcdaf
CRs-Fixed: 994562
Fix calculation of sec_ch_offset. Also fix the check for
HT40 flag to calculate the channel BW. Also fix check for
secondary channel.
CRs-Fixed: 1022025
Change-Id: If37780ea64698ab616131a550cd877368c56faa6