Currently we are dereferencing hw caps without validation which
may cause kernel panic.
Add changes to validate hw caps before dereferencing.
Change-Id: I642dd4c0db872c4cf3bdff7e5fbccbacc82f307d
CRs-Fixed: 2049122
In order to provide greater flexibility on emulation platforms, replace
the current hard-coded QDF_TIMER_MULTIPLIER with a pair of get/set
methods, configurable at runtime.
Change-Id: I0757da6c2129db08459411eaef75b6183f1aa557
CRs-Fixed: 2049309
Begin moving ObjMgr abstractions to their own file, ensure API
consistency, and ensure proper usage from within PMO.
Change-Id: I013ae3b9d7be22378420913df0d2283431398af3
CRs-Fixed: 2047321
Adding support to parse stream of HTT TLV's recieved as response
to the HTT EXT stats request message
Change-Id: I44c990a1ed91c2381b89811de33c0717bd24be7d
CRs-Fixed: 1114641
pdev_id in FW starts from one. Zero is reserved for Soc. But host uses
pdev_id starting from zero. Make WMI changes to take care of this
difference and always provide and accept pdev_id starting from zero at
WMI. Use 0xFF for SoC on host.
Change-Id: I49f481e54bbaeea9359753bc7d3da9092fc9559a
CRs-Fixed: 2045125
Modified to accept ssid of length 32 characters for vdev.
It was taking only 31 characters.
Change-Id: I98c54b23b1c7d70546a548979cef6a1af9ddb064
CRs-Fixed: 2049607
Add fix to handle a case where the head SKB carries no payload
and only EIT header
Change-Id: I4513944d1e1f491f985be522bc04be6845c8a3c4
CRs-Fixed: 2004658
1. Unmap tso common segment only after receiving
completions for all the tso segments for a given
skb.
2. Keep a track of num of free tso descriptors available
in the pool of tso descriptors.
Change-Id: I01bdbb9e40b7259f77dbcfeec22c6d8cd0c0a6dd
CRs-Fixed: 2042950
Move excessive per packet logging inside undefined compile flag.
Eventually need to remove this debug logging.
Change-Id: If1470a4c780b4b718346982a69d6e5fb60e2287f
CRs-Fixed: 2049401
Function dbglog_set_log_lvl needs to be commented out for WIN compilation
since enum DBG_LOG_LVL is not converged. Functions nl_srv_bcast and
nl_srv_is_initialized needs to be exported out for pushing FW Diag Log
events to user-space (cnss-diag)
CRs-Fixed: 2048651
Change-Id: I57a4bd3d78680b97bd75191ca58349abeb77240a
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
Change DP_TRACE and DP_TRACE_STATS to use FATAL level.
Set DP module at QDF_TRACE_LEVEL_FATAL by default.
Change-Id: Ia894c6695699192feed204bb0dffdb9cfd59480c
CRs-Fixed: 2048931
The legacy call back reads per pdev frequency information (and
other information) from extended service event. The ext-service-ready
must be extracted and stored in per PSoc structure before pDev can
read it.
Change-Id: I9d6245c7c58a14b7aa08642c84b3a51b20e3d0c2
CRs-Fixed: 2047212
To reduce boilerplate code, add standard logging macros to the scheduler
module.
Change-Id: I478ec2d16d340f419135101704f0ab3a5bf0b4d8
CRs-Fixed: 2042761
To catch SKB memory leaks trigger panic on SKB leak in SLUB debug builds
if CONFIG_HALT_KMEMLEAK is enabled.
Change-Id: I25b65454ec3954fdcbf6e39390ac793ee77fc1f4
CRs-Fixed: 2049330
1) WLAN driver doesn’t response to management frames.
e.g. associate request.
2) WLAN controller will process and send response to AP,
AP sends response to WIFI client.
Modified hostapd is used for testing purpose.
3) WLAN controller calls splitmac API(add_client) to
add WIFI client using specified info e.g. rates etc. on AP.
4) Do the rest init, e.g. EAPOL exchanges.
Change-Id: I688c598b6b879a1ab5f21457e299c47ccede79b0
CRs-Fixed: 2034582
Call target_if_scan_set_max_active_scans() to set the max active
scan limit to WLAN_MAX_ACTIVE_SCANS_ALLOWED, for non-TLV
chipsets.
CRs-Fixed: 2049689
Change-Id: I4e5700ed5e7ffbde49652a961ecd14fb3eacaceb
Changes in the HAL APIs to adapt to the new hardware E6 header files.
The changes are in:
- The MSDU link extension descriptor
- The RX MSDU TLV (type_offset)
CRs-Fixed: 2033542
Change-Id: Ib314194f66fd2feea901f849753c9c91ec4a040c
During convergence, a new module log level table was introduced, however
qdf_trace_hex_dump still points to the old table. Use the newly
introduced module log level table in qdf_trace_hex_dump.
Change-Id: I243a8c8b0ed84d501a472189d89074815ab67334
CRs-Fixed: 2046137
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
With linux4.4 definition of seq_printf is changed. New definition
updated in driver applies va_start twice which causes incorrect
output hence definition is updated to make sure va_start is applied
only once. For write operations using copy_from_user to avoid
crash due to accessing user space area.
CRs-Fixed: 2042210
IRs-Fixed: 201729
Change-Id: I4043ab027411d42e15adaf53e6e92ae57aa987c7
Add peer-id in the meta data for the reinjected by the FW
and queue them to the HW.
Change-Id: I3f25d5f928b6891c06cad6ce3ed81df77d4e33ed
CRs-Fixed: 2024450
Setting default trace level for all modules registered through shared print
control init as NONE. Any module that requires a valid default trace level
may need to change the trace level in the default array, ensure sanity pass
and merge their changes.
Change-Id: I4d5b195da2646e53dea7beefdd2536fe743ecb34
CRs-Fixed: 2048931
Due to HW limitation, WEP bit is expected to be set in AMSDU packets
transmitted in raw mode.
Set WEP bit if the QOS frame is AMSDU during the tx processing of the
raw mode packet.
Change-Id: Ibaa7d95f6ebcf9016e3c02355b5f0ce909eb9a93
CRs-Fixed: 2042666
Firmware expects TDLS set state cmd before vdev stop, but
the cmd is going out of sequence during roaming and induce
crash in the system.
Send the TDLS set state cmd with correct sequence.
Change-Id: Ie106b8a8cebaa7f107c9eff67dda924b231162da
CRs-Fixed: 2048036
Changes include
1. nss_cfg parameter to dp_soc.
2. nss_enabled field for pdev.
3. cdp api to enabled nss offload config.
4. skip rx ring configuration when nss enabled.
5. skip timter /interrupt configuration if
nss is enabled.
6. peer map/unmap event hander.
Change-Id: Ic4a919b6b7e846e18cb15ebcb94f8736a751ecb5
HAL modification to provide additional information to
support lithium nss offload configuration.
A new API added to extract addtional information from HAL
Few additional parameter added in get_param function.
Change-Id: I2fb0ed89c2d3cb3ee253b158f7982e1a00ab4353
TLV header is incorrectly set for coex config command due to wrong
TLV length passed to the set TLV header API.
Fix issue by setting TLV header passing correct TLV length.
Change-Id: Ica3e2468d26bdaed26cade048f4d440c067ad929
CRs-Fixed: 2037499
New iwpriv commands are implemented in WIN to support dynamic configuration
of verbose level for each of the module IDs.
Add following changes in trace module to support above requirement -
1. Make qdf_get_pidx and qdf_set_pidx common to WIN and MCL
2. Export g_qdf_category_name to be accessible in WIN driver
3. Add macros to derive upper and lower 16-bits from a 32-bit value
combining module and trace level information used for dynamic trace
level configuration per module
4. Address trace level NONE case during registration to set the correct
mask
Change-Id: I97be5f26b0d611e96409837fb0c03d55ce5f6e07
CRs-Fixed: 2041247
Scan component provides API to check maximum scan
allowed. Replace all MAX_SCAN macros with API
Change-Id: I094b61978af015e5800784b90340e39aae94e7ba
CRs-Fixed: 2033852
Add Spectral TxOps and RxOps interfaces in
psoc towards converging the Spectral feature.
CRs-Fixed: 2028657
Change-Id: If5b46fb9d71529060df6e5b242fcc8976fce82f8
Get the dfs domain from reg component instead of using it from
offload or lmac layer.
Change-Id: I3007ac483c44723b13a0af22df6eb56deac4c7ed
CRs-Fixed: 2047212
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
Problem:- If the driver is unloaded before a nol timer fires, the unload
function frees the NOl element. But the memory associated with the nol timer
argument which has a one-to-one mapping with nol still remains in the system
since the nol timer argument memory is freed in the timer function.
Solution:-
1)Instead of allocating a separate structure as input to the timer function
use the NOL element itself as input since NOL element already has the
information needed by the timer function.
2)A NOL element for which the timer is yet to fire is freed
by the driver unload (dfs_nol_timer_cleanup).
3)When dfs_nol_timer_cleanup is about to free a NOL element the corresponding
timer may be already running. Therefore, it is required to sync/wait for the
timer to finish before the NOL element can be freed. If we do not wait and
free the NOL element the timer may access an invalid memory location.
Change-Id: I4f37b66777491d92a51ff1ffc2651af1ccf5de29
CRs-Fixed: 2045993
Changed the log levels from ERROR to DEBUG for few prints
in the scheduler API's since the prints were not for errors
but for debugging purposes.
Change-Id: I2a351de5933cfe6ec7e52d48fbc6e32880854276
CRs-Fixed: 2034873