As many as 5 vdevs can be created, which is defined by MAX_SME_SESSIONS.
But flow control pools are only valid for active TxRx capable vdevs.
which is 3 active vdevs. So attach flow pool creation to vdev_start
instead of vdev_attach.
Change-Id: I137676ba618aa3a6684c7d17ef7d9263c4df6efe
CRs-Fixed: 2220079
Add new helper functions for crypto module.
New api to get ucastcipher and mcastcipher
from peer and vdev.
New api to get key from vdev and peer.
Change-Id: Ia111f59a93b6cc7e1a3406dc53142f0c087df6f8
Crs-Fixed: 2223901
Add support in DP WDS source port learning handler to kickout a STA,
when direct associated peer(SA) roams to another AP/Repeater and
reachable via TA peer
Change-Id: I84d0b92c9b4e39c05f4d7c25b3f5afb1d535ca02
CRs-Fixed: 2219924
Fix the issue where the MCS rates for HT were repopulated
causing the MCS rates to be decoded incorrectly.
Change-Id: I73efac79d853b6f8af966aec57e70ad645418528
CRs-fixed: 2206784
Add new ini item "ho_delay_for_rx" to set delay Hand-off
period. For LFR 3.0 roaming scenario, once roam candidate
is found, firmware waits for minimum this much duration
to receive pending rx frames from current BSS before
switching to new channel for handoff to new AP.
Pass value of ho_delay_for_rx to fw in case of roam
offload.
Change-Id: I19141928a2885371bc1b9e7b720473d99c4ebb1d
CRs-Fixed: 2221755
AMPDU flag check is not present when radiotap header is updated.
This fix will check for rs_flags to check and set AMPDU present
Change-Id: I9e0a703a46459b1013af092f8cb8b7cd35f1a3ce
CRs-Fixed: 2204278
WMI cmds should be blocked, before calling HTC stop
to avoid the race condition in the system
Change-Id: I015b154a3bc422f50d4ed82bc861dd9e054c47a3
CRs-Fixed: 2194234
Non PMF frames are being dropped due to incorrect buffer
length check. Modifying the check only for PMF cases
Change-Id: Iead56b199de6c14b3a569a4f1a537553e9325bc8
Fix for setting the right length when incrementing Rx Multicast
Bytes value
Fix for incrementing the Tx multicast packet value by correctly
returning the peer pointer to the stats function.
Change-Id: I46d59b7a71936d6eefdcba4419d0737f70aa4d48
CRs-Fixed: 2220973
Remove inconsistent API for scan start and stop, where pdev_wmi_handle
is derived from psoc_handle at the WMI layer instead of using
the wmi_handle passed from the above layer i.e target_if
Change-Id: If259260e6f8cf77bf68748a8130db4440b88588a
CRs-Fixed: 2203048
Add Regdomain: ETSI14.
Add Regdomain pair: ETSI14_WORLD.
Change regdomain of Qatar to ETSI14_WORLD.
Change Japan ISO country code.
Remove Non-ISO JAPAN countries.
Remove Ch.144 and related straddle channels in APL9.
Increase 5.25-5.35 power in APL9.
Increase MKK5, MKK11, MKK16 powers.
Add channels and increase power for ETSI9.
Add 5GHz mid channels and increased power for FCC14.
Change regdomain of Mauritius to ETSI1_WORLD and ETSI13_WORLD.
Change Egypt Country Flags to allow VHT80, VHT160.
Change-Id: I10abf9f2edcb2d3f9a941ffc6b9188002d83973a
CRs-Fixed: 2216647
While handling a multi-segment TSO packet, there is a race condition
where, if tx complete arrives fast enough, the un-sent TSO segments
may be lost forever and a previously sent segment would be attempted
to be sent over.
Fix the race condition. Dont use the entry after send to go to
next entry.
Change-Id: I023587a48bea6f3b58aac62e398cc15939bbb773
CRs-Fixed: 2174715
In order to use qdf_list in situations where static initialization is
preferable, add a number of macros for statically initializing the
qdf_list structures.
Change-Id: I9a1291d495e7940b57d8519da0e3d62a0dfd2064
CRs-Fixed: 2222980
WIN does not use scheduler queue in regdb. Hence, do not compile
scheduler queue in regdb.
Change-Id: I9694a1780cd65ac2360044152cf7d13748fbe8cc
CRs-Fixed: 2223207
It is valid for dfs->dfs_rinfo.rn_numbin5radars to be 0. If it is zero
then the malloc returns NULL and we skip dfs_reset_alldelaylines.
Skip dfs_reset_alldelaylines in case of non-zero malloc failures. Also
move the dfs->dfs_b5radars NULL check just before accessing
dfs->dfs_b5radars memory.
Change-Id: I0aba9d2357672e2c5bc6c5c3857cb06194381e2f
CRs-Fixed: 2215846
BSS peer pointer is currently not populated to P2P GO vdev during
peer attach, which will result in an assertion in function
wlan_objmgr_peer_get_ref once a remote peer object is created for
the same P2P GO vdev.
Populate the right BSS peer pointer to the P2P GO vdev during
peer attach.
Change-Id: I8d98d3b1c51d28dcda1ed0feadee30229c74dc9c
CRs-Fixed: 2218195
Currently bool is used to check if scan node is active or not, and
if it is active the deletion can happen. Now if two thread tries to
delete the same node at same time, the first one to get the node
will delete the node and set the active bool to false. If the
delete operation leads to node being freed, the 2nd thread when gets
the lock tries to check the bool, if node is active and then return
if node is not active.
Now if before the 2nd thread check the bool, the memory is reallocate
and the byte pointing to the bool is overwritten with non-zero value
the 2nd thread will assume that node is still active and try to delete
and access an already freed node.
To fix this use cookie instead of bool to check if scan node is active.
Change-Id: Id6b9dc9d0ff8f091eef0bd648abc9d3198c3ad4b
CRs-Fixed: 2219667
Radar bandwidth detection at certain frquencies is reported to
be lower than the acceptable threshold. This is due to the low
rssi reported in the phyerrors.
Fix the issue by adjusting the rssi threshold accordingly.
Change-Id: Id00e6ae4722d1f4c820037a4014a86953abc6650
CRs-Fixed: 2224053
Decrement the reference count when peer type is P2P-CLI thereby
avoid memory leak whenever P2P-CLI disconnects in object manager.
Change-Id: Idaf2910c39b316dcea46f9be39df420d71bab8d6
CRs-Fixed: 2222320
For 4.9GHz, firmware converts the frequency to old regulatory channel
numbers and sends it to host. But host uses new regulatory channel numbers.
Since the received fw channel and beacon channel number is different,
host drops the received beacon and scan entry doesnot get updated.
As a temporary fix, bypass the beacon mismatch check in host.
Change-Id: Ib3e6b7b39ef2feaa1bcf0e0b16a702caccbf6744
Send correct channel list to Firmware. When cfg80211 is enabled, STA
is scanning in a set of wrong channels. When scan callback happens
from cfg80211 module the cfg80211 module gives us the channel numbers.
There are some channel numbers which are same in both 5GHz and in
2.4Ghz bands. For example, channel number 1 maps to frequency 4942MHz
in 5GHz band, but in 2.4GHz band channel number 1 maps to frequency
2412MHz. So cfg80211 may give us a wrong channel number. Since we have
the exact frequency of the channel we should use that instead of the
one given by cfg80211.
The channel object given to the driver by cfg80211 during scan callback
is the same as the one registered to cfg80211 by the driver. So we can
use the channel frequency inside the channel object for scan which is
not changed by the cfg80211 module.
Use regdb function to convert channel number to frequency while receiving
scan entries from FW. Use pdev band (5/2.4GHz) information to map to
correct 2.4Ghz/5Ghz channel frequency.
Half/Quarter rate flags in the scan_ctrl_flags are not set. Set
Half/Quarter rate flags in scan_ctrl_flags.
Change-Id: I9df8f0e90938f86f6987574f8259a5cf66b672aa
CRs-Fixed: 2180273
Move hdd_request_manager to qcacmn osif layer, which will be used
by CP_STATs component.
Change-Id: Iebf7f9d259793b56cc70c5b3f9dec14a5ef35b25
CRs-Fixed: 2220035
qdf_net_buf_debug_init/exit() are defined when NBUF_MEMORY_DEBUG is
disabled, but they are not declared in the nbuf header file, leading
to build errors for PERF builds. Make qdf_net_buf_debug_init/exit()
static inline stubs when NBUF_MEMORY_DEBUG is disabled.
Change-Id: I4180086f27873a48cb965abed21f4bca2a4ca3a1
CRs-Fixed: 2222969
qcacld-2.0 to qcacld-3.0 propagation
Discard the original wmi interface:
WMI_PEER_ANTDIV_INFO_REQ_CMDID/PEER_ANTDIV_INFO_EVENTID,
replace with the new one:
WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID/WMI_PDEV_DIV_RSSI_ANTID_EVENTID
to support chain value along with corresponding antenna info.
Change-Id: Ie9ea9d160e1ac1e2e65de422c85989159fb5a556
CRs-Fixed: 2220759
Retrieve length from every htt msg to
parse the tlv's from the htt msg and also
add statistics counters to account for error
packets in Rx path.
Change-Id: I17105174734975dc0d5093c587697346a8ada725
CRs-Fixed: 2214594
Copy the file name to a QDF local array, rather than using
the pointer to file name, to avoid access to the invalid pointer.
Also, separate out SKB debug from memory debug.
SKB debug will be enabled once the SKB related false positives are fixed.
CRs-Fixed: 2216661
Change-Id: I0ada1acb84c24c961cf614c9c47261f272959874
Some times we need to scan only some pre configured
channels irrespective of channels requested in scan
start command.
Add support for pre specified list of scan channels
and scan only these channels if configured.
Change-Id: I7fa9ef9d626fd25d7855a7eb458818d8e2314fa5
CRs-Fixed: 2218494
Find the correct P2P GO vdev and update
the vdev_id to ps_config before set opps
parameter to Firmware.
Change-Id: Ie5435de8330f6e9c13f645e19d80cbd97f1f027d
CRs-Fixed: 2203066
For FTM mode we receive peer map events without
peer created. This change checks for peer NULL case
to access peer vdev.
Change-Id: I1998e33ca3d9338dba939dc760dcf7bfdb70d1e3
Crs-fixed: 2212203
Use QDF spin lock BH APIs in DFS component since
DFS can run in software interrupt context.
Change-Id: Id068b8e49023c52796b5d9ce76dac378b4ce4b1e
CRs-Fixed: 2218947
During module stop, scan db is cleared before scheduler thread
stop, new beacon can be handled and scan node still can be added
into scan db after scan db clear in race condition, result in
mem leak.
Fixed by moving scm_db_deinit from ucfg_scan_psoc_disable to
ucfg_scan_psoc_close, which is called after scheduler thread
stop
To be symmetrical, move scm_db_init from ucfg_scan_psoc_enable
to ucfg_scan_psoc_open.
Call stack:
hdd_wlan_stop_modules
->hdd_deconfigure_cds
->cds_disable
->dispatcher_psoc_disable
->ucfg_scan_psoc_disable
->scm_db_deinit
->cds_close
->dispatcher_disable
->scheduler_disable
->dispatcher_psoc_close
->ucfg_scan_psoc_close
scheduler_thread
->scheduler_thread_process_queues
->scheduler_target_if_mq_handler
->target_if_msg_handler
->scm_handle_bcn_probe
->scm_add_update_entry
->scm_add_scan_entry
Change-Id: I911751a247ae3ccb489755c30ffbe078a93ca4db
CRs-Fixed: 2205354
API arch_counter_get_cntvct()/arch_counter_get_cntpct() are
specific to MSM/ARM platform. Use proper compilation flags for
QDF to compile against other platforms.
Change-Id: I7fcc5d84cd205151d839d19dfdc3432cb289807d
CRs-Fixed: 2216035
Acquiring parent lock with in child lock context can occur deadlock
as some caller can invoke API with parent lock acquired.
Change-Id: I8fab6226d9cafe6df20737f966be1063feebb603
CRs-Fixed: 2219624
Process scan event for 11d only if event indicates completion. Else in
case of dequeue due to failure or timeout will also cause scan event
handling for 11d which might have undefined effects.
Change-Id: I9d3599a9c60bccebea8ded9922dd3ddf995d8d61
CRs-Fixed: 2210347