Currently direct typecasting is used to convert an HDD handle to HDD
context. Typecasting has the disadvantage that it does not allow the
compiler to validate that the input item being typecast really is an
hdd_handle_t. In order to allow the compiler to typecheck the input
item introduce a converter API, and update the current existing
typecasts to use the converter.
Change-Id: Ifc7c3e062af234b378f1fb806cae0814ac52e423
CRs-Fixed: 2273915
APF commands are using a global context and so the current
implementation can only entertain one command at a time. Since
APF in Firmware is vdev specific, simultaneous APF commands on
different vdev's should be supported.
Move APF context inside hdd adapter to support simultaneous
commands on multiple vdev's.
Change-Id: Ife148065ebc6387af3a690cc0cb788e23066e67e
CRs-Fixed: 2192408
Change the minimum acceptable value for twt_congestion_timeout to
Zero. This also indicates that it will be a host triggered TWT.
Change-Id: I827afc2d360f13990f6261388692b0d49a98b2f0
CRs-Fixed: 2272549
Currently network buffer map/unmap tracking is enabled by the
MEMORY_DEBUG compile time flag.
I6b62539d39664db3ff62411fe8632633f53488c8 is giving this feature its own
compile time flag, NBUF_MAP_UNMAP_DEBUG. When CONFIG_LEAK_DETECTION is
enabled, also enable NBUF_MAP_UNMAP_DEBUG to retain current behavior.
Change-Id: I9d18ff8401710e3964cb6decb01ac1a282421d37
CRs-Fixed: 2273769
Optimize string log size in hdd API hdd_rssi_threshold_breached such
that wlan.ko size is optimized.
Change-Id: I71fb6fc8e9f71e52b11dc67aeec58095555eceaf
CRs-Fixed: 2271644
While connected AP requires DUT to do radio
measurement for itself in passive scan mode,
DUT sends empty beacon report.
In passive scan, sta only listens beacons.
Connected AP beacon is offloaded to firmware, and
Firmware discards it except that special
IE exists in the beacon. Connected AP beacon will
not be sent to host. Hence, timer of connected BSS
is not updated in scan result lists
and cannot meet "scan timer > RRM_scan_timer".
Fix the issue by adding connected
BSS judging condition.
For cld3.2, csr_is_duplicate_bss_description is not
defined. So compare bssid only between scan results
and connected BSS.
Also fix some config issues in sme_rrm_issue_scan_req.
Change-Id: Ibd6ed53329303b558c61622f95ee0f131451f148
CRs-Fixed: 2261364
Enable features for genoa, create new file genoa.common
where we added list of common features and then include
this common file in all other genoa defconfig variants.
Change-Id: I50a1f4f95a96ce2e489002131b5cc9215c17a0ae
CRs-Fixed: 2272740
Add support for SRD channels in ETSI regulatory domain
1) Add SRD channels only if DSRC feature is disabled.
2) Add user configuration to enable/disable these channels
in master mode PCL/ACS. Default is disabled.
3) Allow these channels in ACS/PCL only if the INI is set.
Change-Id: Ibd79dc95e9911ce3a0fd101f4716d9bbb8b75466
CRs-Fixed: 2264786
The txrx stats req has been freed in the ol_txrx_pdev_detach by checking
req_list of pdev.
Remove the txrx stats req free in the ol_txrx_fw_stats_desc_pool_deinit
to avoid the double free.
Change-Id: Idb2d5517e90ee873e7fd62d58c48a4f793266bac
CRs-Fixed: 2272696
The driver stops the oppurtunitistic timer for DBS, when
the start AP requests come, which results in HW mode stuck
in DBS if the next vdev start request comes on the same MAC
This further results in NSS = 1 for the MAC, hence throughput
decreases.
Fix is to set hw mode to single MAC in case the STA/SAP comes up
in the band/channel
Change-Id: I85664bb5d64f5ce6506f47da4b62328631f01616
CRs-Fixed: 2267106
Enable the converged configuration component in the Kbuild. Also, hook
into the cfg parse and release APIs.
Change-Id: Id0df669a34463e9f51bd5cc5bf2939fb1ac6228d
CRs-Fixed: 2258233
If sta_sta_sap_scc_on_dfs_chan enabled then SAP is not allowed
on DFS channel in standalone mode. If ACS and sta_sap_scc_on_dfs_chan
are enabled ini then skip the DFS channels from the ACS channel list
CRs-Fixed: 2159816
Change-Id: I396d0c8996f8870de1570ed9932451567f5c77f3
In the API csr_roam_roaming_state_reassoc_rsp_processor
the driver extracts pNeighborRoamInfo from pMac, but it
may happen the session id is greater than CSR_ROAM_SESSION_MAX
which results in a out of bound access of memory.
Fix is to have a max check of session ID and then extract
pNeighborRoamInfo from that session.
Change-Id: If3fb98fa278562abe40137ffead8ff4f85b40b1f
CRs-Fixed: 2259229
There is a chance that kernel can trigger suspend while reassoc
in progress. If driver allows this suspend, this can result in
two issues:
1. Authentication timeout in supplicant and leads to connection
failure if reassoc is triggered using reassoc bssid hint.
2. Roam synch timeout in firmware if roaming is triggered from fw.
Add one more check for roaming in progress to fix this issue.
Change-Id: I84a5d6e70e28f98440affb968c0b0bb90e21ac95
CRs-Fixed: 2269316
LL_STATS is supported only for STA mode and currently no check
is present to validate the device mode while setting the LL_STATS
from the vendor command.
Allow LL_STATS to be set from the vendor command only for STA mode.
Change-Id: I40e9a6beb20524a84d87105455fe9b28cdc50816
CRs-Fixed: 2266936
csr_roam_set_bss_config_cfg invokes csr_roam_substate_change
with sessionId as one argument to change roam substate. In
csr_roam_substate_change, sessionId is uses as index of array
curSubState of max allowed index CSR_ROAM_SESSION_MAX(5). But
there is no any check present in csr_roam_substate_change to
validate sessionId against maximum allowed concurrent sessions.
This results Out-of-Bound access if sessionId >=
CSR_ROAM_SESSION_MAX.
Add check for sessionId against CSR_ROAM_SESSION_MAX in
csr_roam_substate_change.
Change-Id: Iae7da836001a9ccbec77cdc64df27b259f15bf4e
CRs-Fixed: 2268547
There are multiple issues with wmi_unified_nat_keepalive_enable():
1) WMA global functions should have a wma_ prefix.
2) The function prototype indicates it should return int status, and
the one caller, wma_add_sta_req_sta_mode(), is expecting that, but
it actually returns QDF_STATUS.
3) The function is a very thin wrapper that calls the unified WMI API
wmi_unified_nat_keepalive_en_cmd() and hence adds no real value.
Rather than address these issues, just remove the function and update
wma_add_sta_req_sta_mode() to directly call the unified WMI API
wmi_unified_nat_keepalive_en_cmd().
Change-Id: I13a4140ba6343240bde51704af2921c001f66a21
CRs-Fixed: 2271552
There will be excessive logs in exception path when running SAP embedded
traffic since these logs are per packet.
Fix is to ratelimit all logs in IPA exception path to avoid excessive
logs.
Change-Id: Ia96a60f4de145740d7099b432c92e7b5785047d2
CRs-Fixed: 2272014
Assert in firmware due to invalid vdev id in spectral scan
request.
Fix is to check for invalid vdev id before spectral scan
req send to firmware.
Change-Id: I05b2e359a7b2535384fa40276d3aa42469b7ae81
CRs-Fixed: 2259269
If we disable LFR3 featurization (CONFIG_QCACLD_WLAN_LFR3=n),
Driver does not able to compile due to change present in
Change-Id: I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620.
Fix is to include change I4c91cac6bad400c8fa58b2a6ba2b282a3b7f1620
under WLAN_FEATURE_ROAM_OFFLOAD feature flag.
Change-Id: I9dcf3bbcd5564c08b0ba52cfebfb2118fd50fee8
CRs-Fixed: 2268764
In the API lim_perform_ft_pre_auth, the driver sends
a auth frame to a peer whose MAC address is extracted
from the session entry, and it may happen that the
pointer tpftPEContext is NULL, which results in
pointer dereference.
Fix is to send an auth frame only if the sFTPEContext
is valid.
Change-Id: I5544739a0b438efcc0216bbccdcff113946b330b
CRs-Fixed: 2259250
In the API hdd_update_tgt_cfg, the driver extracts hdd_ctx from
context, and it may happen that the context is NULL, which may cause
pointer dereference in the same API
Fix is to have a NULL check for hdd_ctx
Change-Id: I9216e0fb72d1825af10445c52448c102603f7e13
CRs-Fixed: 2259401
In wlan_hdd_cfg80211_start_bss, not all the error path will
reset IEs, which might lead to memory leak of IE buffers.
Update error handling of the function to ensure that it will
cover all error cases.
Change-Id: I44d1eeb4d0100a2f720ea20abd5eacf9fa9bf1fc
CRs-Fixed: 2271222
To poiulate peer rates (Supproted rates, HT & VHT Capabilities)
lim_populate_peer_rate_set first copy values of
psessionEntry->rateSet.rate in a local buffer tempRateSet for
sorting of rates. Currently while copying, index for
psessionEntry->rateSet.rate bufffer varies from 0 to max rate
allowed SIR_MAC_RATESET_EID_MAX(12). This results access of 13th
index(OOB) of psessionEntry->rateSet.rate buffer.
The fix is to set proper upper bound to copy values of
psessionEntry->rateSet.rate in to a local buffer tempRateSet.
Change-Id: I75d5f5b5e7d44665101dae6e095b4adadc1781fb
CRs-Fixed: 2268610
Standalone SAP is not allowed on DFS channel if STA+SAP SCC enabled
on DFS channel. So move the SAP to a non DFS channel as soon as STA
gets disconnect.
CRs-Fixed: 2145495
Change-Id: I27d018739f53997641a7113cfc7c844e02bd7e29
Implicit conversion from enumeration type 'enum dfs_reg' to
different enumeration type 'enum nl80211_dfs_regions'
[-Werror,-Wenum-conversion]
Change-Id: Iceff212456180b995a9432be04af5e39e7863acb
CRs-Fixed: 2271384