Commit graph

5,367 commits

Author SHA1 Message Date
Shaakir Mohamed
cbc53dd023 qcacmn: Add support for reduced BW-Agile DFS
When the beaconing channel is not affected by radar,
reduce bandwidth of the AP while retaining the beaconing (control) channel.
Since all subchannels were in ISM there is no need to perform CAC.
Random channel selection is run if primary beaconing channel is affected
by radar, wherein CAC will be run for new primary and secondary.

Change-Id: I3c141a02449361e2290086f4c15f7b3eb08c6115
CRs-Fixed: 2284350
2018-08-21 01:51:26 -07:00
Vignesh Viswanathan
9ef73cbd90 qcacmn: Do not send OUI to FW if info_presence OUI bit is not set
In cases where the user wants to ignore the OUI and OUI data in the
INI, the OUI bit of info_presence field is set to 0. In such cases
the OUI length would be 0.

Do not send OUI to FW if info_presence OUI bit is not set.

Change-Id: Ib55ad0dbb917c01ac7a9b024d2ac6d6e9cc42d4a
CRs-Fixed: 2294624
2018-08-21 00:17:17 -07:00
Dustin Brown
041b10a5f7 qcacmn: Fix CE history compilation issue
alloc_mem_ce_debug_history() is currently stubbed out when
HIF_CONFIG_SLUB_DEBUG_ON is defined, leading to silent CE history
collection failure on MCL devices. Fix the #define to include the full
definition of this function when HIF_CONFIG_SLUB_DEBUG_ON is enabled.

Change-Id: I8cd4c81e21a3874d717e361751372912ce38d560
CRs-Fixed: 2299012
2018-08-20 13:28:58 -07:00
Anish Nataraj
37b649522c qcacmn: Assign valid user index even for TLVs peerid 0xffff
Peerid 0xffff is for scan peer and rate information needs to
be delivered using valid user index from API dp_get_ppdu_info_user_index

Change-Id: If200467755c4b18002db221413976624ca66a9c9
2018-08-20 11:52:46 -07:00
Min Liu
c86412881c qcacmn: Remove legacy code
Remove legacy code which is not used

Change-Id: I0cf3e39506d6d1f43738ac706d45ba4aca8fe269
CRs-Fixed: 2288640
2018-08-20 05:29:56 -07:00
gaurank kathpalia
cfd8be4c4c qcacmn: Remove dual beacon MCC check from SCC check case
In the API policy_mgr_dual_beacon_on_single_mac_scc_capable
the check of wmi_service_dual_beacon_on_single_mac_mcc_support
is there too, which in any case is void, as if the driver supports
SCC, then it will return true from the first check itself,
and if it doesn't support SCC, it will surely not support MCC
too, so the check of MCC after SCC is void anyways

Fix is to remove the check of MCC dual beaconing capability from
policy_mgr_dual_beacon_on_single_mac_scc_capable

Change-Id: Ia427be4fcee0e0267171d81cf7e8e669560d20a9
CRs-Fixed: 2299182
2018-08-20 05:29:54 -07:00
sumedh baikady
df4a57cd31 qcacmn: Handle 2k exception and rate limit delba
Upon receiving 2k jump exception, send delba
and track delba tx status and retries.

Change-Id: Ida35256233869dfa390c40030c9296b9c48481ce
Crs-fixed: 2239856
2018-08-20 01:36:58 -07:00
Yeshwanth Sriram Guntuka
f3c286ed15 qcacmn: Reduce log level for few prints to debug
Reduce log level for few prints to debug to avoid flooding
of prints to console.

Change-Id: I514585cc87d51ead15fb1f40d45f62023628d9bb
CRs-Fixed: 2296839
2018-08-18 19:17:22 -07:00
Dustin Brown
ed22a65b66 qcacmn: Add caller/line info to recovery log
To speed up recovery trigger debugging, pass the caller's function name
and line number, such that the group needing to do the initial triage
can be easily identified via the panic message.

Change-Id: I64f62ec30de657deeff037ee99610e716cfc4377
CRs-Fixed: 2298195
2018-08-17 16:13:22 -07:00
Pamidipati, Vijay
13f5ec2749 qcacmn: Enable DBDC WAR in Root AP mode
In current code, DBDC WAR for AST applies only for repeater mode.
Add support to enable this even in AP modex, for use in SON usecases

Change-Id: I82791fbae0cc86ac6d951c4d85b709c755334273
2018-08-17 10:30:45 -07:00
Manjunathappa Prakash
85b801ee9d qcacmn: Reduce HTC/WMI init log message log level
Reduce the log level so that logs appear on cnss-diag log instead on
console.

Change-Id: I6ee4b6ba22ddfe56eb7e93a7242555b8a087c204
CRs-Fixed: 2296956
2018-08-17 10:30:33 -07:00
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