Commit graph

5,706 commits

Author SHA1 Message Date
Wu Gao
23ae49236f qcacmn: Get next node and then delete current queue
It will delete current node and then get next node by current node,
which cause NULL pointer access.

Change-Id: Ieb1f1fe924d4c86368e340b2482f2ffdb09f301f
CRs-Fixed: 2297087
2018-08-17 10:30:17 -07:00
Jeffin Mammen
31320b31bc qcacmn: Add WMI command for WMM based ATF config
Add new WMI command to support WMM based ATF configuration.
The new WMI command sends the Access category ID and the
corresponding airtime allocation to the firmware.

Change-Id: I7a5fafa6190d779d0fef8982b7b781af54656b19
CRs-Fixed: 2293193
2018-08-17 10:30:02 -07:00
Jeffin Mammen
c17d8ee4d7 qcacmn: Add AC based ATF Scheduler support
Add/Modify functions to support AC based ATF support.
Modify Function pointer declarations and assignments to
comply with the new design.

Change-Id: I17046c4461dc4ba413fd71a4437c0f7cb8997400
CRs-Fixed: 2293193
2018-08-17 10:29:45 -07:00
Debasis Das
c2af7e7648 qcacmn: Wrappers for OS API's used for device cfg
Use appropriate wrappers for OS API's used for
device configuration.

Change-Id: I6a8042175d1a5939742be077fa45e8b776eee180
CRs-Fixed: 2222560
2018-08-17 10:29:26 -07:00
Om Prakash Tripathi
bf3428b207 qcacmn: Move peer ref id debug support under compile flag
ref id debug support adds an array of atomic_t to peer object which
significantly increases peer object size. Move this debug support
under compile time flag WLAN_OBJMGR_REF_ID_DEBUG to save memory.

Change-Id: I9c14e23078a702419a15ad79eb384cc6727a5ef3
CRs-Fixed: 2293170
2018-08-17 10:29:10 -07:00
Linux Build Service Account
14b27a774b Merge "qcacmn: Fix multiple free of a single memory and memory leak in scan" 2018-08-16 12:04:22 -07:00
Linux Build Service Account
43b06b415b Merge "qcacmn: Add static compilation option to enable DP polling" into wlan-cmn.driver.lnx.2.0 2018-08-16 09:05:31 -07:00
Om Prakash Tripathi
c341ca71a1 qcacmn: Fix multiple free of a single memory and memory leak in scan
MBSSID beacon support change 2371483 caused multiple free of
scan_list in failure cases. Also only memory for scan_list was
freed without freeing any scan entries in scan_list.
Fix multiple free of scan_list by multiple functions and free
each scan entry in scan_list before freeing scan_list memory itself.

Change-Id: I113391629f544b7accb9a4d1b7aaea11624e0d6e
CRs-Fixed: 2295311
2018-08-16 06:27:22 -07:00
Venkateswara Swamy Bandaru
37ce7097c7 qcacmn: Add static compilation option to enable DP polling
Add static compilation option to enable DP polling irrespective of
HIF polling is enabled or not.

Change-Id: I64544a8f1a6f56eba9ddbf200c9157a165e68e9d
CRs-Fixed: 2292401
2018-08-16 00:47:59 -07:00
Shashikala Prabhu
294c9b62c6 qcacmn: Rename dfs timer free function
1. Rename XXX_timer_free() dfs functions as XXX_timer_detach().
2. Remove the code to free precac_nol_list from
   dfs_zero_cac_timer_detach(). This is the redundant code since
   dfs_reset() already frees the precac_nol_list.

Change-Id: I878f396795ce0e5c04af379a6db253d07ca66a83
CRs-Fixed: 2262081
2018-08-15 23:01:00 -07:00
Arif Hussain
ba57f10c4a qcacmn: Do not free stats resource in get_peer_rssi_cb()
Do not free stats resource in callback handler,
Let caller free the resource.

Change-Id: I0d77e95d81b8bb995492eb0aebaa3ebf0282718e
CRs-Fixed: 2296924
2018-08-15 16:58:15 -07:00
Gerrit - the friendly Code Review server
ad82c760b7 Merge changes into wlan-cmn.driver.lnx.2.0 2018-08-15 00:55:49 -07:00
Wu Gao
e90bd0516c qcacmn: Check and then remove tx context from queue
It will remove the tx context firstly and then check whether need to
be deleted, which cause tx context memory leak. So, check the tx
context firstly, and then remove the tx context if need.

Change-Id: Icfe72318ccdd580002d269ffa8082b7f5fa4a341
CRs-Fixed: 2291867
2018-08-14 21:44:23 -07:00
Nirav Shah
1b9674e21e qcacmn: umac: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: I34ba6f6485f9b506264daf4e116052d2858bed40
CRs-Fixed: 2278876
2018-08-14 21:44:21 -07:00
Nirav Shah
681004968b qcacmn: HIF: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: Id36cbf9e3848a7ea0095c111319bfa5d46cab5af
CRs-Fixed: 2278876
2018-08-14 21:44:19 -07:00
jiad
331eb9e6f7 qcacmn: Fix DP flow pool map for non-LFR3 roaming
tx_desc allocation failures are observed when running roaming scenarios
on Napier x86, where roaming offload is disabled (non-LFR3) and during
roaming reassociation is sent by DUT. With Lithium_DP, tx_desc are
pre-allocated within flow pool and flow pool map and unmap are currently
hooked in policy manager when connection table is updated.

In roaming scenario, flow pool is created when STA is associated with old
AP. But new flow pool is not created but is reused with old AP since same
flow pool id is passed from protocol stack. When old AP is removed from
policy manager connection table, flow pool is thus unmapped which leads to
EAPOL packets transmit failure due to unavailability of tx desc.

Fix is to increate pool_create_cnt to avoid flow pool being unmapped.

Change-Id: Ia912c1d7fe8319bece00869a9a47c8a760b17e2f
CRs-Fixed: 2287284
2018-08-14 20:02:32 -07:00
Shashikala Prabhu
fe4a65a733 qcacmn: Fix channel list validation failure
Add frequency range CHAN_5735_5835_8 which has dfs flag set. For ETSI12
regdomain use this freq range instead of CHAN_5735_5835_1.

Change-Id: I40f659c2a92b902e26bd71fc713e00b57a13418d
CRs-Fixed: 2290773
2018-08-14 16:50:22 -07:00
Ashish Kumar Dhanotiya
27bcaf88dd qcacmn: Add qdf api support for mtrace logging
Currently mtrace messages are getting recorded in circular
queue but are not getting used for DIAG Infrastructure.
Add support to print the mtrace messages on DIAG infrastructure in
format such that there will be two 32 bit fields printed on the
logs. These two fields will be constructed as explained below:
1. First field will be constructed using below bit positions:
   a. Bit 0 – 14 ( 15 Bits Lsb ) will contain the messageIDs
   b. The bit 15-22 will represent the destination module,
      and the 23-30 will represent the source module which is
      initiating the message.
   c. Bit 31 will represent whether the message is from host
      or from FW. If bit is 0, it indicates the message is
      from host and if it is 1 it indicates the message is
      from FW.
2. Second field will be constructed using below bit positions:
   a. First 16 bits (From LSB )will be used for counter.
   b. Next 8 bits would be the vdev id.
   c. Remaining 8 bits are reserved for future use.

Here counter is static unsigned 16 bit value which will be
used to keep track of number of logs given to QXDM and out of
these logs how many logs have been missed.

Change-Id: I4cec762ef17222d6adda9fd3e283c101afb92955
CRs-Fixed: 2290898
2018-08-14 16:50:18 -07:00
Ashish Kumar Dhanotiya
9d0ed2532c qcacmn: Add a new trace level for automation of logging
Add a new logging trace level QDF_TRACE_LEVEL_TRACE for
automation scripts to process the logging.

A new logging Infrastructure is to be added where the newly
added logging level QDF_TRACE_LEVEL_TRACE will be used to
log in specific format and these logs will be used by
post processing script to figure out right FA or to figure
the module from where the path deviated. It will help out CST
to figure out the right FA if there are any issues in the driver.

Change-Id: I7b5772026e4fc2f8e5205663e9150c861b69fdfc
CRs-Fixed: 2290893
2018-08-14 16:50:16 -07:00
Debasis Das
008baa9b4d qcacmn: Abstraction mechanism for OS API's
Provide support for abstraction layer for OS API's.

Change-Id: I1f51350c2ae4c35330aa7355e9cd20fa28aad194
CRs-Fixed: 2222560
2018-08-14 16:50:12 -07:00
Edayilliam Jayadev
8e3eb14984 qcacmn: Add more fields to SAMP message
Add new fields such as agc_total_gain, sscan_gainchange
to the Spectral SAMP message.

CRs-Fixed: 2291499
Change-Id: Ia6a9fd742c2ee98fd9d7102f0d8c66dcd22a1614
2018-08-14 05:01:16 -07:00
Liangwei Dong
6ca6f83556 qcacmn: Fix 11d non offload issue
If target only support regdb offload but not
support 11d scan offload, the set country code
wmi command needs to be sent to firmware.

Change-Id: Ide69c3f08a14560789f6e53a6013861843b5e974
CRs-Fixed: 2280170
2018-08-14 05:01:13 -07:00
Jeff Johnson
886d010afb qcacmn: Remove wmi_unified_get_buf_extscan_hotlist_cmd()
Change "qcacmn: Add revised extscan start hotlist monitor API" (Change
Id Ie705f2462c7d5befa691f1ab57293e55ab68e3e2) recently added a revised
"start hotlist" handler. The only known client of the existing
interface was converted to use the new interface with change
"qcacld-3.0: Refine the extscan start BSSID hotlist logic" (Change-Id
I4d9f982177bc61a751ba0e7437fe55482dfd2723) so remove the now obsolete
interface.

Change-Id: I6e43170daa3ed2d932f1f2fa6717ea230a37ea8b
CRs-Fixed: 2294278
2018-08-14 02:15:52 -07:00
Venkateswara Swamy Bandaru
29757ad9ee qcacmn: Add DP support for qca8074v2
Add datapath support for qca8074v2.

Change-Id: I8d1a84f011b8fccedd85ca445a0e69a1a4071f72
CRs-Fixed: 2292314
2018-08-13 19:57:52 -07:00
Rajasekaran Kalidoss
1da863ff58 qcacmn: Add vdevId field to aggr_add_ts_param
pe sessionId should not be used as vdevId.Add
vdevId field to aggr_add_ts_param and use it
in wmi command.

Change-Id: Id021dda35a32f7870277d405c85a0878d7baa3f3
CRs-Fixed: 2293867
2018-08-13 18:12:48 -07:00
jitiphil
e393cf4170 qcacmn: Deinit CE tasklet work before CE Cleanup
During freeing up of hif_config_de resources, the ce tasklet workers
are deinitialized after the ce cleanup is done. This causes a race
condition between shutdown and ce tasklet in case rescheduling of ce
taslket is done.

Deinitialize the taslket workers before ce structures are deinitialized.

Change-Id: I708711174cf818c0d15ef92c881c8d8aee49e9f1
CRs-Fixed: 2283272
2018-08-13 12:57:57 -07:00
Ashish Kumar Dhanotiya
14e22492c5 qcacmn: Add new Module ID in enum QDF_MODULE_ID
Currently there is no module ID to represent the FW, In new
logging infrastructure messages going from host to FW also
needs to be represented.
Add a new module id QDF_MODULE_ID_TARGET to represent firmware as
a module.

Change-Id: I0551455f2867633abed88037e414deaec1c11921
CRs-Fixed: 2290895
2018-08-11 04:41:54 -07:00
Venkateswara Swamy Bandaru
e8774bdf67 qcacmn: Fix race condition on setting irq_requested to true
Fix race condition on setting irq_requested to true by releasing
spin lock irq_save and taking it again. This will update the irq
flags to the irqs enabled after taking the lock.

Change-Id: Ic68847994fd053b8061d35a346ee65a495c7b725
CRs-Fixed: 2293004
2018-08-11 00:29:38 -07:00
Chaithanya Garrepalli
be9d5fcc14 qcacmn: populate delayed_ba bit to tx PPDU descriptor
Populate delayed_ba bit to the user info in tx PPDU
descriptor from htt user common tlv

Change-Id: I7d22b10123015cd3799e1c3b2f31c7da6f020c13
2018-08-11 00:29:36 -07:00
Manikandan Mohan
5c81249094 qcacmn: Add support for converged NAN config params
Update NAN module to support INI configuration params based
on converged CFG component.

Change-Id: I2253daf8cbbce6d2afa28c5834179f21c2b76660
CRs-fixed: 2290357
2018-08-10 20:45:32 -07:00
Kiran Kumar Lokere
cb0c0a1d8b qcacmn: Define new config attribute for MU EDCA param override
Define new wifi test config attribute to override the MU EDCA
params with defaults in the driver.

Change-Id: Ic12e322a82a558a5b01e13d6d5e288eb6933c1cc
CRs-Fixed: 2290381
2018-08-10 20:45:29 -07:00
Adil Saeed Musthafa
61a21697f6 qcacmn: Add new radiotap header fields
Add the following fields in Radiotap header:
Antenna noise (in dBM)
Vendor Namespace containing the following information
->L_SIG_A
->Device_ID
->L_SIG_B
->PPDU_START_TIMESTAMP

CRs-Fixed: 2285143
Change-Id: I977be73778ab27383f12214c73b56c9b80d9f02d
2018-08-10 20:45:27 -07:00
y
db24745af8 qcacmn: PPDU changes for DP Componentization
PPDU rate related change moved to data path layer

Change-Id: Id362da61336fb439e394437636af53c0c2c10988
2018-08-10 18:11:36 -07:00
Ruchi, Agrawal
2a6e6143a3 qcacmn: Add change for disconnected peer stat
Add change for disconnected peer stats ,
will remove from bss_peer
and will store in vdev, bss peer will have only multicast
stats for connected and disconnected peer.

Change-Id: Id294d1f3218dbfabcc252bac04f1a3e5f543a247
CRs-Fixed: 2290723
2018-08-10 18:11:32 -07:00
Anish Nataraj
58881d84fe qcacmn: Add nawds mcast drop counter while aggregate
Currently aggregate vdev/pdev is missing nawds mcast drop
counter, add nawds mcast drop counter from peer

Change-Id: If1e2296c30cfcb5689449c8e23317282e5dce1c6
2018-08-10 18:11:30 -07:00
Aditya Sathish
ca0ebcdbaa qcacmn: Clean up wmi component prints
Clean up WMI component prints by correcting trace levels for
regularly occurring prints and removing newlines from converged
print APIs since qdf_trace_msg appends them by default.

Change-Id: Ie375e6fda2943f5f2b7287da4374ef9d7470d593
CRs-Fixed: 2243843
2018-08-10 18:11:27 -07:00
Aditya Sathish
648ce114ab qcacmn: Clean up hif and htc component prints
Clean up hif and htc component prints by correcting trace levels
for regularly occurring prints and removing newlines from converged
print APIs since qdf_trace_msg appends them by default.

Change-Id: I45b1bbe7b16ab7fb8e229b59a094c7382561d658
CRs-Fixed: 2243843
2018-08-10 18:11:24 -07:00
Aditya Sathish
ded018e406 qcacmn: Clean up dp component prints
Clean up datapath component prints by correcting trace levels for
regularly occurring prints and removing newlines from converged
print APIs since qdf_trace_msh appends them by default.

Change-Id: Ie8fe319fcb737720f7400a165e134b6a18bd15b5
CRs-Fixed: 2243843
2018-08-10 18:11:21 -07:00
Aditya Sathish
f78a3d8ca5 qcacmn: Clean up spectral, tif and umac component prints
Clean up spectral, tif and umac component prints by correcting trace
levels for regularly occurring prints and removing newlines from
converged print APIs since qdf_trace_msg appends them by default.

Change-Id: Ib10f1b1c54ecbcb9f4076be7c2c4708359d488e0
CRs-Fixed: 2243843
2018-08-10 18:11:18 -07:00
Aditya Sathish
1c42c27c80 qcacmn: Move prints to QDF framework
Move all qdf_print from printk to qdf_trace_msg so that trace level
management can be carried out at runtime
In addition to the above, change contains removal of newline
escape characters from the format string of the converged
print APIs since qdf_trace_msg appends them by default.

Change-Id: I18cd06400bb9747761bbd86bfb38fe6d06106729
CRs-Fixed: 2243843
2018-08-10 18:11:15 -07:00
Venkateswara Swamy Bandaru
dbacd5e70f qcacmn: Add hif support for qca8074v2
Add new target type for qca8074v2 and extend target
type checks of QCA8074 for QCA8074V2.

Change-Id: Ib3ff4505e2057fc843b492b9720004dcac042a65
CRs-Fixed: 2292271
2018-08-10 18:11:12 -07:00
Kiran Venkatappa
ef65ce37d7 qcacmn: Add TWT requester/responder bits in soc caps
TWT requester/responder capability is reported by FW in service bitmap.
Based on this support set soc's extcap feature bit. This is used while
adding extended capabilities IE to set TWT REQ/RSP bits in IE.

Change-Id: I304e9fa4dc32bd3c2f47901bc34438cb188d138a
CRs-Fixed: 2290026
2018-08-09 16:24:58 -07:00
Kiran Venkatappa
ad6f6e23b0 qcacmn: Add twt req and responder flags in peer assoc params
WMI_PEER_TWT_REQ and WMI_PEER_TWT_RESP flags are introduced in peer
flags sent to FW in PEER_ASSOC_CMD. Add corresponding flags in host
structure to indicate peer's support for TWT requester and TWT
responder.

Change-Id: Ic5edb594a95b255fe8ce1091d96c4d886b4d6170
CRs-Fixed: 2290026
2018-08-09 16:24:55 -07:00
Karunakar Dasineni
b277479e83 qcacmn: Retain defaults in REO_GENERAL_ENABLE
Use read-modify-write to retain default values in
REO_GENERAL_ENABLE register.

Change-Id: I94eb05328117adf02acc2cb14b50b02a008cd322
CRs-Fixed: 2254739
2018-08-09 16:24:52 -07:00
Arif Hussain
35d89071c2 qcacmn: Refactor cp status callback handlers
Duplicate stats buffer in the callback so that all
allocations get freed by its owner, this will avoid
memory leak issue because of race condition between
umac and upper layer.

Change-Id: Id18d75eb9adc46a6147634eb5b1e0babe32c7c37
CRs-Fixed: 2289355
2018-08-09 14:34:22 -07:00
Vignesh Viswanathan
b23e6abab5 qcacmn: Add support for 1x1 connect with 1 Tx/Rx Chain action OUI
Add WMI support for new 1x1 connect with 1 Tx/Rx Chain action OUI to be
parsed and sent to the FW.

Change-Id: I077eccb6fab0684d1bc0ec63745de728bfd1a868
CRs-Fixed: 2264328
2018-08-09 14:34:19 -07:00
chenguo
1b88046171 qcacmn: Add preamble only PPDU support in monitor mode
There are some particular PPDUs which have preamble only:
     * NDP frames
     * TB_PPDU frames
Add support to the above frames.

Change-Id: I7022433d3765575eaf28d7baf3a11e8b6ce13890
CRs-Fixed: 2275161
2018-08-09 14:34:17 -07:00
Venkateswara Swamy Bandaru
8223158f81 qcacmn: Add qca8074v2 register structures
Add separate register structures for qca8074v2 chip.

Change-Id: Idf2ee0559c48edfb2c1835a6244578143b47f0fa
CRs-Fixed: 2292210
2018-08-09 06:38:51 -07:00
Subhash Madyastha
452feb46d4 qcacmn: Append wbuf len by struct scan_offset len
Alter the wbuf length based on the scan_offset_time set in
the host to FW. This will avoid sending incorrect payload
to the FW.

Change-Id: I0033dcab7e38fe7f107180294cb3cbaaf0c9d45e
CRs-Fixed: 2134748
2018-08-09 06:38:49 -07:00
Liangwei Dong
8b6542bb7b qcacmn: Limit concurrency of STA(WAPI)
When STA role is coexisting with other sessions(P2P, SAP or IBSS),
WAPI encryption mode is not allowed.
Add a new API to check if the connection/start request should
be rejected when:
1) A STA with WAPI encryption is to be connected while there
   is at least one concurrent session already running.
2) A new session is to be started while there is already a STA
   connection with WAPI encryption enabled.

Change-Id: Idf0d346138eeda339254535f1f7131fda4a5086a
CRs-Fixed: 2290549
2018-08-09 06:38:46 -07:00