Grafik Komit

6087 Melakukan

Penulis SHA1 Pesan Tanggal
Jeff Johnson
b9f08212f6 qcacmn: Refine struct wmi_unified_pmk_cache (phase 1)
The current definition of struct wmi_unified_pmk_cache has the
following anomalies:
1) It contains an unnecessary tlv_header field. Only the fw-api
   structs should contain TLV headers.
2) It contains a mis-named session_id field. Common structures should
   use converged terminology, in this case vdev_id

To fix the first issue just remove the tlv_header field since it isn't
used.  To fix the second issue takes a phased approach. For phase 1
replace the session_id field with an anonymous union which contains
both the existing session_id field and a new vdev_id field. Being part
of a union these field will overlay each other.

Subsequent phases will replace session_id references with vdev_id
references, and then remove the union, leaving just the vdev_id field.

Change-Id: If4be27111c604c16ea437aa654210cdff28220a7
CRs-Fixed: 2363430
2018-12-13 16:46:11 -08:00
sumedh baikady
da15920d5b qcacmn: Support for smart monitor on HKv2
Add support for smart monitor feature on HKv2.
For HKv2, NAC filtering is done by HW and NAC is
programmed directly in the AST table. The NAC entries
in AST table have monitor direct bit set and this
is obtained by host via monitor status ring.
host subscribes for packet header in MD packets.

To these filtered packets radiotap header is added
and delivered to the stack.

Change-Id: I123f986531943e376ac5c492540e01f0b03348c4
2018-12-13 16:46:07 -08:00
Dustin Brown
7c32e412b8 qcacmn: Add qdf_talloc APIs
Add APIs for t(ree) alloc(ated) memory management.

These APIs allocate memory like malloc, but track those allocations via
a parent-child relationship, or tree. If the parent is freed while it
still has children, a panic will be triggered. This effectively gives
you the ability to limit the lifetime of an allocation by ensuring the
child allocation lifetime will be strictly less than the parent
allocation lifetime.

Change-Id: I6308c96061e125b2e5a9c424ec2d2298c1c503ab
CRs-Fixed: 2359469
2018-12-13 16:46:04 -08:00
Dustin Brown
ce57c688b9 qcacmn: Add qdf hashtable APIs
Add a thin wrapper in QDF around the kernel hashtable implementation.
Additionally, add basic unit tests for these APIs.

Change-Id: I07999e5fc8116e67b3850b866ced20af64342055
CRs-Fixed: 2359335
2018-12-13 16:46:01 -08:00
Edayilliam Jayadev
919727378d qcacmn: Remove duplicate assignment of default values to Spectral params
Remove duplicate assignment of default values
to Spectral params.

CRs-Fixed: 2364567
Change-Id: I77d69c2707ca4295bfdac0ebdb49883c4544f61f
2018-12-13 16:45:58 -08:00
Pamidipati, Vijay
8a4c03a869 qcacmn: protect peer-list access in AST aging timer
Add missing lock to protect peer list access in AST
aging timer

Change-Id: I3e0f7c0bd0e81398dd927bb4f51627a46c5eae19
2018-12-13 14:57:29 -08:00
Sandeep Puligilla
5957f0030a qcacmn: Add concurrent cfg items of scan
Add following scan cfg items:
CFG_ACTIVE_MAX_CHANNEL_TIME_CONC
CFG_MIN_REST_TIME
CFG_REST_TIME_CONC
CFG_PASSIVE_MAX_CHANNEL_TIME_CONC

Change-Id: I5b20ea153269f32b503d6c9cd1667d8086148871
CRs-Fixed: 2364994
2018-12-13 13:21:25 -08:00
Wu Gao
8e0f32b161 qcacmn: Remove TDLS component and related files from hostcmn
TDLS component used in CLD only and needn't in hostcmn. So there
is requirement to move it from hostcmn to CLD. This change removes
policy mgr related files/codes from hostcmn.

Change-Id: Ifeaf1447e74f83a17072d08c4a0ff62a13e91518
CRs-Fixed: 2361584
2018-12-13 02:38:03 -08:00
Rajeev Kumar Sirasanagandla
4db889dfe6 qcacmn: Add regulatory API to check 5Ghz band
Add regulatory API to check whether given frequency belongs to 5GHz
band.

Change-Id: I96147aca4f98563305bbba25c623aa0a37dd284d
CRs-Fixed: 2364934
2018-12-13 00:52:15 -08:00
Jinwei Chen
214590a2c9 qcacmn: fix nbuf free reuse during invalid peer data processing
For MCL function dp_rx_process_invalid_peer, there is corner case the
nbuf is not data and freed, but invalid_peer_head_msdu pointe to the
same nbuf in pdev is not reset to NULL, then invalid_peer_head_msdu is
reused again.
Reset invalid peer msdu list to NULL when nbuf is freed.

Change-Id: I73058afe9656c34971ea083faa19ef9d90b7f747
CRs-Fixed: 2356531
2018-12-12 12:29:22 -08:00
Jinwei Chen
b3f9d202db qcacmn: Fix SSR nbuf unmap issue
During SSR test, TX skb sent to target will not get TX completion,
so skb unmap and free is missed. later when driver is unloaded,
nbuf unmap leak is detected then panic happened.
Take care to unmap and free the corresponding skb of pending TX
descriptor during vdev detach.

Change-Id: I9f4e6443682097ec76632c96a0188ffa2c1a5fcc
CRs-Fixed: 2347770
2018-12-12 07:21:01 -08:00
Vinay Adella
9420115f04 qcacmn: Change peer unref delete API parameters
Pass vdev mac-addr and vdev-mode, instead of vdev-id.
The vdev-id that was passed earlier, was used to get
the mac-addr and vdev-mode from the vdev structure.
But there are cases when this vdev structure may be
freed, when this API is called.
So pass the mac-addr and vdev-mode from the dp structures.

Change-Id: I2148e7ecef433f4363385eeaec2e18f3ec131ab8
CRs-Fixed: 2356315
2018-12-12 03:52:00 -08:00
Wu Gao
c38f0e89f0 qcacmn: Remove policy mgr component and related files from hostcmn
Policy mgr component used in CLD only and needn't in hostcmn. So there
is requirement to move policy mgr component from hostcmn to cld. This
change removes policy mgr related files/codes from hostcmn.

Change-Id: Ie774d526cd4aa91b16afe6e01919141b570324c4
CRs-Fixed: 2361566
2018-12-12 03:51:58 -08:00
Karunakar Dasineni
6fb46e2759 qcacmn: Release link descriptors on defrag errors
Link descriptors should be returned to WBM release ring if
fragments are not reinjected due to defrag errors.

Change-Id: Ia37db9f195f6848092918cf7cc221dc50e827ac5
2018-12-12 01:45:50 -08:00
Amar Singhal
eec199494e qcacmn: Update regdb with regulatory database version 27
Update regdb with QCA regulatory database version 27.

Modify APL19 with new channels, power and radar pattern.
Change country IN to APL19_ETSIC.
Create new reg-domain ETSI15.
Create new reg-domain pair ETSI15_WORLD.
Move CTRY_SAUDI_ARABIA to ETSI15_WORLD.
Add new country CTRY_MYANMAR.
Change CTRY_CHILE to FCC13_WORLD.
Change CTL value for reg-domain APL8 to 'FCC'.
Enable all bandwidths for country CTRY_COSTA_RICA.
Add new reg-domain pair ETSI10_FCCA.
Move country CTRY_UNITED_STATES to FCC3_FCCA for mobile.
Update regdb version field.
Fix alignments.

Change-Id: I23a7ce98010e15eab606d4910df87bec15abc5ea
CRs-Fixed: 2353872
2018-12-12 01:45:46 -08:00
Amar Singhal
14fedd47cd qcacmn: Rate limit invalid channel number messages
Channel number can be valid when finding out the enumeration for the
channel. Rate limit the messages for the same.

Change-Id: Id8755cffa9030054698f9e5e65c7c30c3155ad1e
CRs-Fixed: 2359311
2018-12-12 01:45:43 -08:00
Wu Gao
9c68825b0b qcacmn: Remove P2P component and related files from CMN
P2P component used in CLD only, and needn't in hostcmn. So move P2P
component from hostcmn to cld. This change remove P2P related/codes
files from hostcmn.

Change-Id: I351ee153588bbcdb62041b4626370d451a3f56bb
CRs-Fixed: 2361487
2018-12-11 17:26:12 -08:00
Dustin Brown
1b76d59f78 qcacmn: Add int parse unit tests to QDF
Add unit tests for the following parsing function in QDF:
 * qdf_int32_parse()
 * qdf_int64_parse()
 * qdf_uint32_parse()
 * qdf_uint64_parse()

Change-Id: I43d162d008910396df051dd18e7a1ab7fede657a
CRs-Fixed: 2362740
2018-12-11 17:26:09 -08:00
Shiva Krishna Pittala
be6dcc0bed qcacmn: Fix unknown symbol qdf_aligned_malloc_fl
When MEMORY_DEBUG is enabled on WIN, it is reporting qdf_aligned_malloc_fl
as an unknown symbol. qdf_aligned_malloc_fl is defined under
MEMORY_DEBUG flag but its prototype is exposed globally.
Make this function definition available globally to fix the issue.

Change-Id: Ieb002bb892d6f3d525409fc9c3a6b2fa71ceebd8
CRs-Fixed: 2357476
2018-12-11 15:40:39 -08:00
Dustin Brown
fbe43ca5c4 qcacmn: Add unit test cases for qdf parse APIs
Add unit test cases for bool, mac, ipv4, and ipv6 parsing APIs.

Change-Id: I7536a973141a6311662390e42da749f48239bef8
CRs-Fixed: 2359298
2018-12-11 15:40:36 -08:00
Arunk Khandavalli
84acb9ff6e qcacmn: Add support query per Vdev Beacon reception
Add WMI support query per Vdev Beacon reception.

Change-Id: I535c03eaefba9fbbcdc51cead1093680f451da10
CRs-Fixed: 2360914
2018-12-11 12:27:14 -08:00
Edayilliam Jayadev
780b60ea90 qcacmn: Remove CONFIG_WIN from spectral
Remove CONFIG_WIN from spectral module to achieve maximum
possible convergence.

CRs-Fixed: 2354105
Change-Id: I59e4d8029fcf096042741573cf020136747e7367
2018-12-11 06:11:13 -08:00
chenguo
60e6dd9978 qcacmn: Add missed error handling in dp_tx_send_msdu_single
If there is anything wrong, the caller of dp_tx_send_msdu_single
will only handle skb free, but not skb unmapping. So inside of
dp_tx_send_msdu_single, it is needed to make sure unmap operation
is performed after map operation.

CRs-Fixed: 2358266
Change-Id: I6379305e84f70b5b978e9504b758c7a6ccf328ee
2018-12-11 01:43:13 -08:00
Visudha Sathurappan
3b5c6e9899 qcacmn: Clean up of DFS functions
Replace mlme functions to get dfs objects by dfs functions.

Change-Id: Ic8432ce3c210a4c1233fe1c715d00f5abb37ba04
CRs-Fixed: 2363068
2018-12-11 01:43:10 -08:00
Santosh Anbu
9c61c1fb03 qcacmn: Add interface APIs b/w mlme and serialization
Add the interface layers APIs that will be utilized by the mlme
module to interface with the serialization module.
Also add a serialization command cancel option to cancel cmds of a vdev
belonging to a given command type and define the vdev mlme legacy callback
function that will be used by the mlme-serialization interface APIs

Change-Id: I6a376465ef2929f15c6464bbd29c0250251696d8
CRs-Fixed: 2312821
2018-12-10 23:33:49 -08:00
Abhishek Singh
502095b236 qcacmn: Add support to enable/disable scan with reason code
Adds support to enable/disable scan for psoc/vdev with reason,
so that multiple clients can enable/disable the scan at same time.

Scan will remain disabled till all clients enable it back.

Change-Id: I8d840b24210095accb56ac9a2697ec26e8a5eb17
CRs-Fixed: 2362093
2018-12-10 23:33:45 -08:00
Bala Venkatesh
ad2b2af274 qcacmn: Trim operation classes to max supported in tdls_extract_params
Operation classes supported can be controlled by user, which can
be sent greater than the max supported operations. This results
in stack overflow in change station command for TDLS sta.

Add check to validate operations supported param given by user
and if it exceeds max supported value, set it to max supported
value.

Change-Id: Idd3a35e38b091546a17d7ec6329f19429e5c289c
CRs-Fixed: 2361464
2018-12-10 11:11:06 -08:00
chenguo
d22ed62ec8 qcacmn: Make sure int_timer is initialized in monitor mode
During vdev attachment in monitor mode, the ini_timer is not
initialzied which will cause FW assertion. Make sure int_timer
is initialized properly.

CRs-Fixed: 2359908
Change-Id: I48c97161345b17a0eb3e8a939499eabeae683bd2
2018-12-10 05:36:53 -08:00
Jiachao Wu
ae6c777bd1 qcacmn: Fix a memory leak in qdf_mem_shared_mem_alloc
qdf_mem_shared_mem_alloc invokes qdf_mem_dma_get_sgtable which will alloc
memory.
This memory should be free in qdf_mem_shared_mem_free by sg_free_table.

Change-Id: I3ad4bd2ff7a80d4051f15dcb04e0265707c2712d
CRs-Fixed: 2131270
2018-12-10 03:59:46 -08:00
Alok Kumar
b5ec642075 qcacmn: Add WMI support for WMI_PEER_UNMAP_CONF_CMDID
Add WMI support to send WMI_PEER_UNMAP_CONF_CMDID to FW
for peer unmap confirmation.

Change-Id: I1a260f840ed28f90568d9cba912cc5e5128c8c7d
CRs-Fixed: 2358066
2018-12-09 22:42:00 -08:00
Amar Singhal
bb0c460a60 qcacmn: Correct the definition of WORLD rules
Regulatory rules bandwidth should be constrained by difference of lower and
upper bandwidth of the rule. Fix the rules that do not conform to that.

Change-Id: I01ceca977ca02dcf757c8afbb597bd1ae9659660
CRs-Fixed: 2354371
2018-12-09 13:05:30 -08:00
Amar Singhal
098cb680ea qcacmn: Add version to regulatory database
Regdb SW needs to be versioned so that implementation
can be mapped to published QCA regulatory database.

Change-Id: I925f9953f410507417747793381fd2f4b196f759
CRs-Fixed: 2354364
2018-12-09 13:05:27 -08:00
Sravan Kumar Kairam
1bffc851ac qcacmn: Reduce logging in dp_tx_comp_process_tx_status
When from control path peer is deleted, peer deletion in progress
is set in dp for that peer. So any caller tries to get the peer
using peer id the return peer reference will be NULL as deletion
is in progress. In this case during peer deletion in progress at
tx completion process status console logs are flooded with invalid
peer logs in soft irq context. This is leading to scheduler watch
dog bite. In this change reduce the severity to prevent excessive logs.

Change-Id: Ife8f9e496b81b19666ef9e36db674106111a7d43
CRs-fixed: 2357807
2018-12-09 13:05:24 -08:00
Kai Chen
692850bdb9 qcacmn: change monitor mode rings size min and max value
change monitor mode buffer, destination, status and
descriptor ring size min and max value

Change-Id: If78f5a745682ae1d4aa4b074b293e1e0a200f661
2018-12-07 15:30:18 -08:00
gaurank kathpalia
0f9f019505 qcacmn: Fix memory allocation latency in beacon process
Currently if the number of APs in the STA environment
are many, then the STA will receive many beacons, whose
beacon process path can take long time, in the kernel
work queue, hence the other processes have to wait
for them to complete, and may get timeout, if the
the time to process the beaocns is larger than their
process timeout.

Fix is to :-
1. Add rate limit to failure conditions of memory
not allocated
2. Make memory allocation in path of beacon process
atomic.

Change-Id: I0b15fd4924bb7d696a33adeb1875f1f9c277db18
CRs-Fixed: 2360624
2018-12-07 13:04:33 -08:00
Hariharan Basuthkar
3b381fb22d qcacmn: Fix pktlog issue
ath_pktlog.ko was not being built as part of disabling
Direct Attach(DA) support.

Moved pktlog files and enabled building of ath_pktlog.ko
since pktlog files are common to both DA and offload.

Change-Id: Ibcb559832029ade94f7215ce633cb6dbc83f747e
2018-12-07 13:04:30 -08:00
Abhishek Singh
b2405ece84 qcacmn: Return failure if sending WMI_PDEV_SET_MAC_CONFIG_CMDID fail
Function send_pdev_set_dual_mac_config_cmd_tlv return success even
if it fails to send WMI_PDEV_SET_MAC_CONFIG_CMDID. Thus the
e_sme_command_set_dual_mac_config cmd stuck in active queue leading
to active command timeout.

Return failure if WMI_PDEV_SET_MAC_CONFIG_CMDID fails.

Change-Id: I9593c7369a4e152c8c233e60216ecd7fc301b944
CRs-Fixed: 2362270
2018-12-06 19:23:26 -08:00
Krunal Soni
de218d60aa qcacmn: Move few INIs's ownership from HDD to Policy manager
INIs
1) g_mark_sap_indoor_as_disable
2) g_sta_sap_scc_on_lte_coex_chan
3) gEnableSAPManadatoryChanList
4) gForce1x1Exception
4) g_sta_sap_scc_on_dfs_chan
5) gDualMacFeatureDisable
6) gEnableOverLapCh
7) gAllowMCCGODiffBI

Ownership of above INIs belong to policy manager, move them from
HDD to Policy manager.

CRs-Fixed: 2350969
Change-Id: I6fe502697cdb9a259b8215ce5b4ad5354cb645fd
2018-12-06 17:51:21 -08:00
Shaakir Mohamed
25737a45e3 qcacmn: Add APIs to enable/disable BW Reduction
Add functions to enable/disable BW-Agile DFS Reduction

Change-Id: I1cc355f06a2027b229ca2001671ddb69c7cff4e6
CRs-Fixed: 2302983
2018-12-06 17:51:18 -08:00
Shashikala Prabhu
bfd50437fd qcacmn: Use UNBOUND flag to create WMI RX workqueue
WMI RX workqueue is created with WQ_MEM_RECLAIM flag. When host receives
the WMI service ready event it queues the work. There is 50sec delay in
scheduling workqueue to process WMI service ready event. This results in
host timeout (timeout = 15sec) and wifi load failure. This cleans up the
host data structures related to data path. But work got scheduled after
50sec resulting in init path handling with inconsistent data structures.

Use workqueue UNBOUND flag to create WMI RX workqueue. Works queued to
unbound workqueues are implicitly HIGHPRI and dispatched to unbound
workers as soon as resources are available.

Change-Id: I46eb0242ad88103268df99be9fd2e0759ebec4b2
CRs-Fixed: 2343181
2018-12-06 13:44:13 -08:00
Aditya Sathish
b514afc58a qcacmn: Add sanity check for txrx_stats 28
Add sanity check for txrx_stats 28 for a MAC address pointer.

Change-Id: I7bc3cfb5a18313086e457b6b4888a8002a4f7fd9
CRs-Fixed: 2360609
2018-12-06 10:28:08 -08:00
Srinivas Pitla
d3a3c544bf qcacmn: VDEV MLME component changes
1) replace legacy string with ext
2) Added new compile CMN_VDEV_MLME_CMPT_ENABLE macro for
   VDEV MLME component

Change-Id: I75fc7cbae9c437d60e666f0c188fb63e98fdac3b
CRs-Fixed: 2307722
2018-12-06 10:28:06 -08:00
Srinivas Pitla
79cdf64d70 qcacmn: VDEV MLME SM fixes
1) Pass EV_DOWN event to SUSPEND state

In Disconnection progress state event handler, on receiving
restart response, trigger EV_DOWN event to move to SUSPEND_DOWN
sub state

2) Replace return statements with status

Change-Id: Ieac0d158f79aad244a480eee24993ddc059b72f0
CRs-Fixed: 2307722
2018-12-06 10:28:03 -08:00
Rakshith Suresh Patkar
5aeabd612d qcacmn: Add support to handle new htt format
If FW supports new htt format include only payload length in
the header length.

Change-Id: Ia5ec9a474bc5fe68de28273e6f9615d36de94a7c
CRs-Fixed: 2359253
2018-12-06 08:39:32 -08:00
Keyur Parekh
c28f839a84 qcacmn: FR-50469 Pktlog for particular peer mac address support
This FR is to enhance existing pktlog debug tool
This feature will allow to capture pktlog for particular
peer mac address.

Change-Id: I3676095536185f25b0d498e03f70246260a324fd
2018-12-06 00:03:13 -08:00
Keyur Parekh
11865218ea qcacmn: Enable monitor mode buffer ring LWM interrupt
Eanable monitor mode low water mark interrupt.The monitor
mode processing is stuck in the monitor mode buffer ring full
if monitor mode low water mark interrupt is not enabled.This
is because there is no packet come in when monitor buffer
ring is full and hence there is no ppdu end interrupt.The
monitor is not processing the monitor ring and buffer ring
full condition is not remoevd.

Change-Id: I28b3a4b408db62873c17512d20e63c9844e8d4ea
2018-12-05 22:46:06 -08:00
Naga
cb25801fa9 qcacmn: Delete WIN specific files from cp_stats
Delete WIN specific files in cmd_dev cp_stats component
and add them in component_dev cp_stats

Change-Id: I16d0e251452225403e3e25f63a5105026c8f258c
2018-12-05 20:34:16 -08:00
Sourav Mohapatra
040e9df4a8 qcacmn: Fix rx_rate population in upper layers
Presently the rx rate is not being populated in the upper layer.

Populate the rx rate in the upper layer via the callback function
get_station_stats_cb

Change-Id: I4729bebd56d550152b0af41017a8c9bd5fb5f187
CRs-Fixed: 2359955
2018-12-05 19:01:45 -08:00
Alok Kumar
2e254c549d qcacmn: Add CDP Ops for peer unmap conf support
Add CDP Ops to support callbacks for peer unmap
confirmation support.

Change-Id: Ia530eeb5b6acd845b3c4cdd33108da806c5f33c5
CRs-Fixed: 2358061
2018-12-05 19:01:42 -08:00
chenguo
b21a49a57e qcacmn: Peer ref count leaks in ppdu stats and descriptor deliver
Because of reference counter decrement is not triggered for every
condition path, it is possible that peer reference counter leaking
happens under some perticular circumstance. Make sure the peer ref
count unreference is called for each possible path.

CRs-Fixed: 2352433
Change-Id: I60bc5a5210519c26c57cdc563d0d1b02d799e090
2018-12-05 13:13:46 -08:00