Enable ML logging in wmi_control_rx and capture all
responses from firmware.
This would result in knowledge of whether the wmi_response
or any wmi_event was received by the host.
Change-Id: I0206a5b9bd357d06a8621747473dedecaa1779f2
CRs-Fixed: 2306047
Channel number being out of range is not expected for a pdev. Put debug
log for the same.
Change-Id: Iaccec084e2bc22a3955915ad48a55d16963b49a5
CRs-Fixed: 2316097
No data length check when extract control panel stats of pdev,
vdev and peer etc, may result in buffer overflow.
Fixed param of cp stats indicates numbers of pdev, vdev and peer
etc in cp stats. Need do length check to make sure actual tlv
data length is same as expected.
Change-Id: I8750d4e10048930222059897a24804e9f2c91ab5
CRs-Fixed: 2305421
CE service file includes APIs for both legacy and lithium
architecture.
These are getting compiled for both targets today. Separate the CE
services into legacy and srng and selectively compile based on
targets present in the SoC.
Note: Generic APIs implemented for both legacy and SRNG services
are separated out through this change. Fast path implementation
will be de-coupled from common service and moved to legacy source
in a follow-up change.
CRs-Fixed: 2258640
Change-Id: If86c21c0bf560a360474c9efcdbcd4841a09828d
For HE case, SGI enum values are different in FW and Host
So that firmware stats and host stats shows different values
To resolve this, change SGI enum value in host to match
firmware definitions.
Change-Id: I1b38dbe32a6c1ab2610c1c3a736a6898ddc73e30
Move network buffer null check to beginning of function to
cover possible case of null pointer dereference during free.
Change-Id: I8c998d4d1711ab28c94a946d04314c26a4c74278
CRs-fixed: 2309452
Heavy print from scan module slowing down
frame processing and caused the scheduler
buffer to be full causing buffer full assert
Move scm_err to scm_err_rl which will add
print rate limiting
CRs-Fixed: 2313262
Change-Id: I4eebe7eeb0e52e0858eb064717a5ce457ac891e2
When multiple STA-PEERs are connected to SAP-DUT device and if SAP
is getting shutdown then as part of shutdown:
1) PEER delete happens first and as part of it,
firmware sends peer_unmap event in interrupt-context.
2) entire peer_unmap handling happens in interrupt_context on one
of the available CPU-core.
3) as part of peer_unmap handling, driver removes the peer from
peer_list first and then cleans up its peer data structure.
4) so between peer getting removed from peer_list and
peer data structure getting cleaned up;
control thread (hdd_vdev_destroy/IOCTL/mcthread),
which is running on different CPU core in process-context,
takes control.
5) control thread checks if peer_list is empty. If it is empty then
cleans dp_vdev structure.
6) so when interrupt_context is cleaning up peer data-structure queue,
it gets stability issue while accessing dp_vdev structure which is
already cleaned up by control thread.
Fix the situation by cleaning-up the peer data-struct first and
then remove peer from peer_list
CRs-Fixed: 2291861
Change-Id: I39675bbe4448df57911963942800cbcede508917
While freeing the AST table traverse through table and
free any AST entries present in the table
Change-Id: I87382da2425380938d91ee1980a9c356c0f647ef
CRs-fixed: 2275212
WDS entry should be removed before adding peer with same mac address.
iIn DBDC mode, this can be ensured only by waiting for response for WDS
delete from FW before creating peer. Add logic to defer AUTH until WDS
is removed from FW.
Change-Id: Ie76d08c4817f953504913ae6cc49fc5388169e4a
CRs-Fixed: 2270592
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I166f4c943b9a21749c53ed19101b0ed0defd8491
CRs-Fixed: 2306013
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I24a94a898fc1f8c3c1e2f1faca0ef51aacdb238c
CRs-Fixed: 2306016
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I184827ec58625dc60be67b8f16aa7e698ecc893e
CRs-Fixed: 2306014
The API wlan_serialization_is_active_cmd_allowed should used
when a serialization request is received and we need to decide
if a command can be moved to active queue or pending queue.
However when moving pending to active, the logic to move pending to
active is implemented in the function itself and is different from
what is implemented in wlan_serialization_is_active_cmd_allowed and thus
should not be used.
Change-Id: If04edf4a0012d9ae6cbbea9606b0e6b962f10b65
CRs-Fixed: 2312991
Take care of corner case when normlized value is just
one more than QCA_NAPI_BUDGET and add normlized to debug prints.
Change-Id: Ife2010b0ada534a487639dbb780e24445d98c045
CRs-Fixed: 2286601
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I37532d323a0945b522087a23a65396ba2899fb5b
CRs-Fixed: 2306011
In the scheduler_post_message, src_id is now added to
know the source module of the msg. The present scheduler
doesn't know about the same which is scheduler_post_msg.
Replace the scheduler_post_msg with scheduler_post_message.
Change-Id: I954a56eb960e8caab25f0734da2f8badf77cad3a
CRs-Fixed: 2306020
In the scheduler_post_message, src_id is now added to
know the source module of the msg. The present scheduler
doesn't know about the same which is scheduler_post_msg.
Replace the scheduler_post_msg with scheduler_post_message.
Change-Id: Ia8c9355528b430bda9231c24c07a648f1931e0eb
CRs-Fixed: 2306018
Rx reception type for packet was populated from
wrong TLV. Populate reception type based on
HT,VHT or HE TLV tags
Change-Id: I3240a9f029b0bfeee8833761531e086bc5df6f91
Host changes to enable HTT version 2 messaging for
PEER map and unmap in FW and changes to handle these
messages in host
Change-Id: Ifbe478212bbbc9c9ea1c1e4791c7a78407c376cc
When a 2G AP vap is brought up on a "WORLD" regdomain (say 0x30),
reg_is_world_alpha2() returns true. Also "enable_11d_in_world_mode" is set
true by default during reg psoc creation. When a regdomain is set, process
master channel list is invoked during which "enable_11d_supp" is set to
true as regdomain is "WORLD" and "enable_11d_in_world_mode" is also set to
true.
As "reg_11d" is enabled, during beacon and probe processing, country
update is done and scm_11d_handle_country_info() is called. 11d feature is
specific to MCL and hence on WIN code base, it causes invalid memory
access and it panics.
"enable_11d_in_world_mode" is MCL specific feature and is disabled for WIN
to avoid any call to scm_11d_handle_country_info for WIN codebase.
CRs-Fixed: 2310809
Change-Id: I7bcac4052c96917120adc59e9e2eaa0e3da8dff1
Introduce a new module WBUFF, which maintains a
pre-allocated pool of skbs for each registered
module and allocates skbs when requeted from
these pre-allocated pools.
The module exposes the following APIs:
1) wbuff_module_init
2) wbuff_module_deinit
3) wbuff_module_register
4) wbuff_module_deregister
5) wbuff_buff_get
6) wbuff_buff_put
Change-Id: Icab723ce29a9a364c822756dee78a0dae1006180
CRs-Fixed: 2313443
Update handling of WMI_SAR_GET_LIMITS_EVENTID for a possible OOB that
can occur if param_buf->fixed_param.num_limit_rows is greater than
actual TLV length of param_buf->sar_get_limits array.
Change-Id: Iccacbb3689e6a7bdd73b2b1f0517d011ccf6d076
CRs-fixed: 2307276
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I558adf0cf0335972a1318a5a33d22dc01d545645
CRs-Fixed: 2306015
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I1f543cd443ab8cb19bf36fb581041ed3393077e8
CRs-Fixed: 2306017
This change implement VDEV MLME State machine based on design,
and handles valid events in each state and invokes legacy callback
APIs to perform state specific operations
Change-Id: I38a11778cba31276c720bc13c085ade60b1fb0c4
CRs-Fixed: 2307722
This change defines VDEV MLME object, and registers with object manager to
be notified on creation/destroy, and also initializes MLME SM
Change-Id: I75bb7de7326e4bbed21ef9653427c4e0694c3ffc
CRs-Fixed: 2307722
This is generic state machine framework, which provides APIs for state
definition, state transition, event posting
Change-Id: Ie7d5a064967098fcb77a663047c479d1d1576595
CRs-Fixed: 2307722
Currently aggregate vdev/pdev is missing Rx nawds mcast drop
counter, add nawds mcast drop counter from peer
Change-Id: I10650639bf5c56410c0f5311090c8a544df89d5d
Add support to send ast hash during peer create.
This value will be used for packet enqueue to transmit block.
Change-Id: Iea188a4b60f96d7770037265d12e534ee2b55bba
Initialize packet pointer record is_free_pkt_ptr_record to false.
The code flow may not assign the pointer before usage.
Change-Id: I00a4dc0eaf7e426ce48ec746eba975b74d1fec34
CRs-Fixed: 2313459
In the scheduler_post_message, src_id is now added to
know the source module of the msg. the present scheduler
doesn't know about the same which is scheduler_post_msg
Replace the scheduler_post_msg with scheduler_post_message
Change-Id: I795f5d714eebcdbb275daae782ffa6f4d8e7e950
CRs-Fixed: 2306019
Add bound check for desc_id in tgt_mgmt_txrx_get_vdev_id_from_desc_id
and tgt_mgmt_txrx_get_nbuf_from_desc_id
Change-Id: Ie27c473061fb68f1d3486cbfe95c015be77203f9
CRs-Fixed: 2304610
Add following APIs to translate NL param type to
crypto param type.
1.osif_nl_to_crypto_auth_type()
2.osif_nl_to_crypto_akm_type()
3.osif_nl_to_crypto_cipher_type()
Change-Id: Iba0d57e63db98cf81ed0ce5c0a79ae7f8239d1a9
CRs-Fixed: 2300761
policy_mgr_decr_connection_count_utfw() API is using
policy_mgr_psoc_enable() API to reset policy manager table as well
as timer deinit but it does more than resetting the table which causes
a stablity issue. For example, policy_mgr_psoc_enable() API calls to
reinitialization connection_update_done_evt event which triggers
stability issue as it has been already initialized once.
Purpose of delete all connection option is, to reset the policy
manager table, to reset any timers which can be achieved by
calling policy_mgr_psoc_disable() followed by policy_mgr_psoc_enable()
Change-Id: Ie3328e150ead99418ddd5025b42a2669e95e1553
CRs-Fixed: 2305419
Add ini drop_bcn_on_chan_mismatch, default: true.
The ini is used to decide drop the beacon or not
if channel received in metadata doesn't match
the one in beacon.
Change-Id: I6a25d472ae41f4a7f0bdb7a57002975938b2dc33
CRs-Fixed: 2312994
Currently only 16 bytes of wmi command/event messages are logged
excluding wmi header information.
By enabling WMI_EXT_DBG whole command/event messages can be dumped
using qdf debugfs apis. This will help if it is needed to
collect whole command/event messages information.
Change-Id: I72dff1279b1145b8d2ee415db97656f457c0136f
CRs-Fixed: 2309286
As part of wlan_mgmt_txrx_pdev_close only nbuf is freed
in case of cleanup path due to SSR or drive unload and
dma unmap is not done.
In this change:
1) Register a callback to mgmt_txrx component tx ops which
does dma unmap of nbuf as part of pdev close.
2) Revert change id I6a7f5efa665a1da009e594248e88002df35ae9ff
as there are potential race conditions using the APIs added
as part of the change.
Change-Id: Id65388a5f4fcb989659bb2088a5e67a4e4e3d265
CRs-Fixed: 2313073
Kernel 4.14 and later supports dev_scratch for network
buffer which can be used to store data in a nbuf in the
format unsigned long.
Add APIs:
1) qdf_nbuf_is_dev_scratch_supported
2) qdf_nbuf_get_dev_scratch
3) qdf_nbuf_set_dev_scratch
Change-Id: I2a72d369bb53f8f86d4bcee3cf6d13f5e4aff57f
CRs-Fixed: 2313270