提交图

5401 次代码提交

作者 SHA1 备注 提交日期
Jinwei Chen
4673310fba qcacmn: add rx data invalid peer indication
Currently there is no callback for MCL DP to do further action
when receiving data with invalid peer, add it for further processing.

Change-Id: I07c93b5119f0c1a46abba587b6b18c7b691683c7
CRs-Fixed: 2299489
2018-08-28 09:15:02 -07:00
Ashok Kumar Ponnaiah
6e0a63ce63 qcacmn: Correct keymgmt append order in rsnie
Correct keymgmt addition order in rsnie to match
with hostapd order of addition.
Added support to add new keymgmt values in rsnie.

Change-Id: Ib96ed6b3986f6dd45ab8f926e7a4e4415aed507d
CRs-Fixed: 2302389
2018-08-28 07:25:08 -07:00
Ashok Kumar Ponnaiah
d652f8ffde qcacmn: Correct the pairwaise cipher order in rsnie
Correct the pairwise cipher order in rsnie to match
hostapd ie generation order. as there difference in the order
cipher is added in rsnie between beacon/probe response generated
in driver and rsnie generated in hostapd, clients drop
this particular association.

Change-Id: I6bc5094a3ff03b013ab1672e8c028a1312eebd3b
CRs-Fixed: 2302389
2018-08-28 07:25:06 -07:00
Sandeep Puligilla
16ead22d94 qcacmn: Add vdev id to command timeout log
-Add vdev identificaiton information to the
serialization command timeout log message.
-Trigger self recovery API instead of QDF_BUG.

Change-Id: Ic873a6acf5e4a5af95a4a28ffa2b32220a499263
CRs-Fixed: 2297487
2018-08-27 23:51:44 -07:00
Ashok Kumar Ponnaiah
17a6db2aa6 qcacmn: Correct parameter passed to cipher2cap function
Correct parameter passed to cipher2cap function.

Change-Id: Ib962c7d908eb0591c9e87ad5987938ad5f24ef93
CRs-Fixed: 2302379
2018-08-27 23:51:42 -07:00
Karunakar Dasineni
6a5267501f qcacmn: Fix 'need_status' during rxtid deletion
Set 'need_status' while sending REO queue update command
for deleting REO queues to get status from HW, which will
trigger callback to cleanup and free the queues.
Also fix issue in initializing REO command descriptor, causing
command number to be cleared.

Change-Id: Ie30fc80f76d835e239dd0b3d3e78c7f32bfa09a4
2018-08-27 22:07:33 -07:00
Harprit Chhabada
6e8c57303b qcacmn: Add new wlan crypto params
Add new param types for wlan_crypto_auth_mode,
wlan_crypto_key_mgmt, wlan_crypto_cipher_type.
Need as part of convergence while converting
param type received from NL to crypto param type.

Change-Id: I0110990d9d2b4b24a87770ebce2b17312a2894fc
CRs-Fixed: 2258383
2018-08-27 18:35:53 -07:00
Jianmin Zhu
2cb2181a4c qcacmn: Add API for concurrency check to cover AP channel switch case
There is already existing SAP+GO combination but due to upper
layer notifying LTE-COEX event or sending command to move one of
the connections to different channel. In such cases before moving
existing connection to new channel, check if new channel can
co-exist with the other existing connection. For example, one
SAP1 is on channel-6 and second SAP2 is on channel-36 and lets
say they are doing DBS, and lets say upper layer sends LTE-COEX
to move SAP1 from channel-6 to channel-149. In this case, SAP1
and SAP2 will end up doing MCC which may not be desirable result.

When channel switch, need recheck whether concurrency is allowed,
Store the connection's parameter and temporarily delete it
from the concurrency table. This way the allow concurrency
check can be used as though a new connection is coming up,
after check, restore the connection to concurrency table.

Change-Id: I66e262774de8dfeba56f9b6f3d1d6721f1748881
CRs-Fixed: 2299105
2018-08-27 16:43:22 -07:00
Jianmin Zhu
6b0d0301d9 qcacmn: Enhance SAP concurrency check to cover AP channel switch case
SAP(Go) concurrency check is mainly used for two purposes:

1) When new GO/SAP session is coming up and needs to check if
this session's channel can co-exist with existing GO/SAP
sessions. For example, in case of single radio platform, MCC for
SAP/GO+SAP/GO is not supported, in such case this API should
prevent bringing the second connection.

2) There is already existing SAP+GO combination but due to upper
layer notifying LTE-COEX event or sending command to move one of
the connections to different channel. In such cases before moving
existing connection to new channel, check if new channel can
co-exist with the other existing connection. For example, one
SAP1 is on channel-6 and second SAP2 is on channel-36 and lets
say they are doing DBS, and lets say upper layer sends LTE-COEX
to move SAP1 from channel-6 to channel-149. In this case, SAP1
and SAP2 will end up doing MCC which may not be desirable result.
such cases will be prevented with this API.

Add vdev_id check while checking for 2nd case. If connection with
given vdev_id exist then it is confirmed that it's a case of
channel switch rather than a new connection case.

Optimize the performance and readability of
policy_mgr_allow_sap_go_concurrency() API by re-organizing the
code blocks.

Change-Id: Idce5d2df7d21e36d2311946115a19482e4b81a8e
CRs-Fixed: 2299105
2018-08-27 16:43:20 -07:00
jiad
f9cb8344c4 qcacmn: Fix dptrace dump for TX path
When running dptrace dump on Napier, observed that eapol TX counters
are not incremented. Reason is that in Lithium DP nbuf->cb is reset
before dp_tx_trace_pkt() is invoked while dptrace relies on nbuf->cb.

Fix is to move qdf_nbuf_reset_ctxt() after dp_tx_trace_pkt() so that
TX counters that rely on nbuf->cb can be captured.

Change-Id: I5048113e66e8742b8f1f321c07494a6dcf84256a
CRs-Fixed: 2290500
2018-08-27 10:50:26 -07:00
Liangwei Dong
79f4a94a1e qcacmn: Add 2x2_1x1 DBS action tables
Add action table for DBS 2x2 5G + 1x1 2G and
2x2 2G + 1x1 5G action tables.

Change-Id: Idadb223cde86729c0f2bbf0cdcc97d96d28c72ba
CRs-Fixed: 2258683
2018-08-27 08:53:34 -07:00
Liangwei Dong
10a38dcc42 qcacmn: Add 2x2+1x1 DBS Action type
Add new DBS Action types and handle
the Actions in policy_mgr_next_actions
API.

Change-Id: Iccc62303383c0701955446a172ed956d1aea0e0f
CRs-Fixed: 2257692
2018-08-27 08:53:31 -07:00
chenguo
4fd11a7234 qcacmn: Add NDP frame supporting for monitor mode of Lithium
NDP is a preamble only PPDU, which do not have payload information
from RXDMA destination ring. The detailed TLV sequence is:
 * RSSI legcy
 * LSIG_A
 * HE_SIGA_SU
 * RSSI_HT
 * GENERATED_CBF_DETAILS
 * PKT_END

CRs-Fixed: 2296348
Change-Id: I19f253c65969b59947bd9a21cf3912b16eb21324
2018-08-27 03:09:54 -07:00
Sravan Kumar Kairam
51d4664cb5 qcacmn: Reduce log level in peer unmap softirq context
Currently host is taking long time to process the peer unmap
event from FW which is executed in softirq context. Reason is
as part of unref delete spin lock is taken and error level logs
are logged and error level logs take more time to process when
some other printks are already in progress to write to console.
This is leading to change interface failure from SAP to STA as
due to longer time processing of peer unmap event.

Reduce the severity of log level such that logs are directed to
wifi logger logs instead to console.

Change-Id: I543619036aa06c9ac4d97d18e44465b3c9b71806
CRs-Fixed: 2271260
2018-08-25 02:11:38 -07:00
Mohit Khanna
7ac554bda5 qcacmn: Support for DP RX Threads
Add support for DP RX Threads as a part of the FR. Multiple RX
threads can be enabled from the ini. The code is added in a new DP
module outside of the cmn project.

Change-Id: Id966c46c2799d23c2a4fa1c884610955afed3565
CRs-Fixed: 2256470
2018-08-24 18:35:45 -07:00
Jinwei Chen
2e590ab62b qcacmn: discard rx mgmt frame if decrypt error
If RX mgmt frame is received with error decryption,
discard it in WMI layer earlier to prevent further
processing and introducing unexpected behavior, do this
for MCL only.

Change-Id: I3d0f0ca72ae497012f93f39739b727692098ba2d
CRs-Fixed: 2296371
2018-08-24 18:35:41 -07:00
Bala Venkatesh
1e7ab08924 qcacmn: Re initialize default SAP mandatory channel list
Re initialize default SAP mandatory channel list as part of the
start bss. Without this change the 5GHz channels which were
added as part of previous start bss are valid for the current
start bss operation.

Change-Id: Id234b413bbddb05efd3af8c3349271bf93a0a3bd
CRs-Fixed: 2300501
2018-08-24 10:12:08 -07:00
Subrat Mishra
1dbc3068a8 qcacmn: Add TLV support for estimated airtime calculation
Add TLV support for estimated airtime calculation.
Add support to send esp_ie_offset along with beacon template.

Change-Id: Ic70ad7df330674a10ac6051f96975aa928700ba3
CRs-Fixed: 2300339
2018-08-24 00:33:06 -07:00
jiad
5b4fb31cd0 qcacmn: Fix SAP-SAP concurrency when they are on single band
Currently SAP-SAP concurrency on same band support is indicated through
WMI service bit wmi_service_dual_beacon_on_single_mac_scc_support and
wmi_service_dual_beacon_on_single_mac_mcc_support. If SCC is supported,
channel of desirable SAP is checked against current available SAP
interfaces. If channel is different, the desirable SAP is disallowed.
Issue is that on DBS capable platforms, this will prevent second SAP
from doing DBS.

Fix is to check if desirable channel is equal to current SAP interfaces.
If equal, SAP-SAP SCC will be allowed. Otherwise fall back to DBS checks
and SCC/MCC on single band will be rejected if above two service bits
check failed or not supported.

Change-Id: I4bfbe5804003797e087bd0234b999cfe1eb4290a
CRs-Fixed: 2297756
2018-08-23 21:19:11 -07:00
Sravan Kumar Kairam
ae20c9e9b5 qcacmn: Move log with error debug level outside of spinlock
In some cases, error level logs take more time to process when
some other printks are already in progress to write to console.
As this error log inside spinlock, so when some other core is also
competing for this spinlock, that core keeps iterating in a loop.
After some time spinlock panic may trigger as it is suspected that
this core is locked on this spinlock.

This fix moves the error log outside spinlock so that the other
core don't have to wait to acquire spinlock due to this.

Change-Id: I38be80ba3cb65dd77520ca39bf6210e9711f56da
CRs-Fixed: 2299628
2018-08-23 19:50:11 -07:00
jiad
fc0d8a88f7 qcacmn: Add SAP-SAP-SAP policy manager next actions
SAP-SAP-SAP next actions in policy manager are missing. Fix is to add
SAP-SAP-SAP next actions so that correct actions can be taken, such
as DBS mode can be enabled.

Change-Id: I347540d9aabf44ed59e7be8b695e87dd8d129aea
CRs-Fixed: 2297763
2018-08-23 15:25:45 -07:00
gaurank kathpalia
6e4b9c54b6 qcacmn: Add support for src, dest in scheduler
Currently the scheduler is unaware of the source module
which posts the message to another layer.

To trace the src, dest, and the message under ML
logging, modify current infra, to include the src,
dest in the qip argument of the API
scheduler_post_msg_by_priority

Change-Id: Ia234f60cc33fcc37ab741c462052a6e50993e3bd
CRs-Fixed: 2300537
2018-08-23 15:25:42 -07:00
Pamidipati, Vijay
3eab5b1b92 qcacmn: Add a missing lock for del_ast
Add a missing lock for protecting AST table while
deleting an AST entry in STA roaming case

Change-Id: I38b08c71e4080867780ba81063ac9d7a73962e04
2018-08-23 13:50:22 -07:00
Venkateswara Swamy Bandaru
a76abc45d7 qcacmn: Add supporting functions for extended capabilities IE
Add structures and supporting function get bit field value of extended
capabilities IE bit field.

Change-Id: Iff915320d71473310e2cbc0188508061b14a40f1
CRs-Fixed: 2296592
2018-08-23 03:54:55 -07:00
Anish Nataraj
7235d9b33d qcacmn: Update ack rssi only for successful completion status
Currently ack rssi is updated unconditionally. Check completion
status before updating ack rssi

Change-Id: I9dec8a051adc933ceab33c71ccbb784471b2756e
2018-08-23 01:45:38 -07:00
Venkata Sharath Chandra Manchala
599b14ce03 qcacmn: Fill appropriate statistics value
Update stats request value if statistics request
from user level is greater that CDP_TXRX_STATS_HTT_MAX value.

Change-Id: I0e36200021fb70662481bc823a95f9e64a8b1e14
CRs-Fixed: 2291842
2018-08-22 18:07:25 -07:00
chenguo
4d877b8ea5 qcacmn: Delete duplicated rate info code in statistics printing
Using common function to replace the duplicated rate info code in
statistics of data path for TX, RX and peer info printing.

Change-Id: I80d296001b95d7a5ff11d7ce538e16f86e7e67e8
CRs-Fixed: 2291395
2018-08-22 14:54:53 -07:00
Dustin Brown
b25cd89800 qcacmn: Move cfg list create to dispatcher init
Currently, the configuration list is created lazily during the global
configuration parse call, and lazily destroyed during the last
configuration release or dispatcher deinit. This causes access problems
where the configuration component is initialized, but no configurations
are parsed before being de-initialized. Instead of the current lazy
solution, simply create the configuration list during dispatcher init,
and destroy it during dispatcher deinit to avoid problems.

Change-Id: I1d1f838853c18e754c3ea5467012bb8a13efc422
CRs-Fixed: 2297311
2018-08-22 11:59:34 -07:00
Shashikala Prabhu
7e4a175385 qcacmn: Resolve dfs region namespace conflict
Resolve the namespace conflict between the host and firmware wmi common
header files by changing the dfs region enum name in the host regdb
component.

Change-Id: I8f0bbd60063fecd9d78338984e91117a23bc423b
CRs-Fixed: 2300356
2018-08-22 06:08:53 -07:00
Kai Chen
339b01d8ae qcacmn: Check the MPDU start tag before read ppdu id
Check the MPDU start tag before read ppdu id in MPDU
start TLV in the head of packet TLV.

Change-Id: I0b9a367e148d55a6c667adc8ad16e7c0fdf0a741
2018-08-21 14:16:42 -07:00
Neil Zhao
daf867352c qcacmn: Don't return if mon vap down in dp_rx_mon_dest_process
If mon vap is down, pdev->monitor_vdev will be set to NULL.
Then function returns, this return will causing mon dest ring not reaped,
causing mon dest ring full FW assert.
And it'll causing mon status ring & dest ring out of sync.

Change-Id: Ie10792da2a4a78d959c676c4b4fba3d9ee05c6e6
2018-08-21 14:16:40 -07:00
Kai Chen
0e79b6e5bd qcacmn: Fix ppdu id wrap around issue
When a ppdu id on a ppdu in status ring find a matching ppdu id
in destination ring. The old logic can cause ppdu id is destination
ring stuck on high value before wrap around. The new logic check
ppdu id between status ring and destination ring is no more than
20000.

Change-Id: Ia601403b0a4fc6cdfff980c7745e055c814137b7
2018-08-21 14:16:37 -07:00
Alok Kumar
7f4494ffc5 qcacmn: Avoid race condition between tasklet schedule and kill
Tasklet get stuck when cds_is_driver_recovering and the driver
state is unloading. It happens due to race between schedule of
tasklet and tasklet_kill. Here one thread is trying to disable &
kill the tasklet while another thread is trying to concurrently
schedule it.

Cancel the tasklet work and make tasklets[i].inited = false before
disabling the tasklet in ce_tasklet_kill() and validate if tasket is
inited before rescheduling the tasklet.

Change-Id: Ib6f4013a73bca8558da097b73535bb8a8f80354d
CRs-Fixed: 2290951
2018-08-21 12:31:40 -07:00
Vignesh Viswanathan
87a8e44583 qcacmn: Drop beacon/probe frames posted on Scan Queue if queue is full
Drop beacon/probe frames before posting on Scan queue if the queue
already has too many beacon/probes to process.

Also add scheduler API to get the queue size given the module ID.

Change-Id: I9153c7e77e74377863774b68e8163839e992358d
CRs-Fixed: 2298584
2018-08-21 01:51:29 -07:00
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