Add the following WMM BE VO ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME
2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME
3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME
4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME
5. CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME
6. CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME
7. CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: I1f8e6f0fa1ff15eda36a20ee06772c4a1ddd9ca8
CRs-Fixed: 2327690
Function csr_set_phy_mode() is not used. Since it is apparently
obsolete, remove it.
Change-Id: I742060a27e6501ee894348d2a915f50f550ef6da
CRs-Fixed: 2344316
Free roam_info in sme_rrm_send_scan_result for all error cases to
avoid memory leak.
Change-Id: I9a30c0c5e349d926092a881c4e2720100836e9d1
CRs-Fixed: 2344465
In function wma_send_bcn_buf_ll, bcn info is filled from
wma handle by mapping the vdev id. For valid vdev id also wma_handle
could have NULL beacon info. So, check for NULL pointer before
accessing the bcn pointer.
Change-Id: I660c8231801eb28962edc364a139e7980febb71e
CRs-Fixed: 2336946
As part of WIN BMI modularization, hif_bmi_register_callbacks
are removed from if_pci.c in qcacmn project. As a result,
MCL needs to invoke hif_bmi_register_callbacks in qcacld project.
Fix is to call bus agnostic hif_register_bmi_callbacks method
in bmi_download_firmware.
Change-Id: I72febb02150cf9c672bea4949c53f1b87fa69cdf
CRs-Fixed: 2332266
Add the following WMM BE VO ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME
2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME
3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME
4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME
5. CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME
6. CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME
7. CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: Ibaf06ba2df07a4805d31a4748809c44d143dd12e
CRs-Fixed: 2327689
Add the following WMM AC VI ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME
2. CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME
3. CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME
4. CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME
5. CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME
6. CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME
7. CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME
Introduce the basic infra APIs related to these configs
from mlme
Change-Id: I320f49b216659937dc7f708fdbb7849ae415e249
CRs-Fixed: 2327687
Correct the configuration check to enable/disable the Tx SU
beamformee setting in 20MHz mode operation.
Change-Id: I958d5319acf98931187304f2c6fe2a9aff5991b7
CRs-Fixed: 2343849
Currently driver acquires wakelock for scans received from hdd.
But for RRM scan initiated from AP for beacon reports, the
wakelock is not acquired and if host goes to suspend while scan
is in progress,FW asserts.
Fix is to avoid the system suspend by taking the wakelock
before rrm scan start.
Change-Id: I02ddc9b5e6ba5f1782d00e34f044ace34c54d0b0
CRs-Fixed: 2331741
auth_failure_timeout is updated as part of
lim_check_and_announce_join_success for p2p client with NOA.
And the default value is stored in pe_session->defaultAuthFailureTimeout
After receiving the auth resp or in case of auth failure the
auth_failure_timeout is reset to default value. But there is any other
failure and pe session is deleted then the auth_failure_timeout is
not reset. And p2p cli connection will use the wrong auth timeout.
And can result in connection delay's if GO doesn't send the auth response.
Reset the auth_failure_timeout to defalut as part of pe_delete_session.
And decrease the max value to 5000ms.
Change-Id: I374bf45279f086127ef062b83a06049c895c4675
CRs-Fixed: 2343832
Currently in case of net tx timeout there is no information
which net tx queue is paused. So log the information of all
net tx queue state in case of tx timeout.
Change-Id: I0b92bd98ad68afcaba9b0f3babb135466bdfa503
CRs-Fixed: 2335572
All the changes related to Shadow register V2 are added to
defconfig build for lithium platform.
Kickstart them by enabling CONFIG_SHADOW_V2 in config.
CRs-Fixed: 2343779
Change-Id: I07c93b5d43edc5010e501ab06cc7050a6e8c9c7f
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the WE_SET_GTX_* ioctl handling into separate functions.
Change-Id: I8303aaaa8009e568684a9a54dbfd92ea98b3df5e
CRs-Fixed: 2343555
Ida2b81eef0ebbfba2749ca89b63980201830a5e2 moved psoc create into
hdd_context_create(), however the destroy path remained as it was. This
caused a regression in the error path where the psoc was not cleaned up
in all cases. Move the psoc destroy into hdd_context_destroy to maintain
symmetry and avoid leaking the psoc under error conditions.
Change-Id: I3b16c9ea37dcf3e3b0ef262894aead5ff4fac59c
CRs-Fixed: 2342955
There are two cfg setting parameters defined for SU Tx beamformer
and improperly updated the cfg settings hence the Tx beamformer
capability advertised as unsupported always.
Remove the redundant setting for SU Tx beamformer and update the cfg
with correct values.
Change-Id: I422179ae87ab5c561f0356bcab4585fbdc53c0bd
CRs-Fixed: 2343090
Currently if any interface comes up on any of the MAC address
from the driver's default MAC address list and if this MAC is
changed dynamically, now if this interface is deleted, it will
not be able to release this MAC address as this newly
configured MAC doesn't match with any of the MAC from the
driver's default MAC addresses and driver is not able to
release this MAC cosidering it as invalid MAC, because of
this corresponding MAC interface mask bit is also not getting
reset and will never get reset, indicating corresponding MAC
is not available for use. If MAC addresses are changed for all
the interfaces which initially comes up on driver's default
MAC address and later these interfaces are deleted, driver
will not be able to add any of new interfaces even there is
no active interface currently in the driver.
To resolve this issue add one more MAC address list for dynamic
addresses cache all the dynamic address changes in this list,
while releasing the MAC on interface delete, release the MAC
from this dynamic list and reset the corresponding interface
mask bit.
Change-Id: I9b6448dced2d3af75625a5c862d2913c33f9983c
CRs-Fixed: 2328304
Function hdd_override_all_ps is only used for monitor mode. In
this function, unexpected PM objects will cause initialization
malfunction. Move these PM objects setting after vdev creation.
CRs-Fixed: 2338261
Change-Id: I0d0e7b1bc4ec0853a274bdea8db2bbe3a3dbe885
During SSR the sap context is reinitialized and it request for
scan request id again deleting the older request id from scan module
this can lead to situation where the scan requestor list is filled by
SAP request id's and thus next request for request id will return 0.
Now during de init when it try to delete the requestor id 0 it delete
the 0th entry which is for CFG. Now if again SAP register the request
id it will get the 0th index which was freed and thus when CFG
requests a scan the sap callback is called instead of CFG leading to
NULL pointer access.
Fix this by not registering for request id again after SSR for SAP.
Change-Id: Ibc8ad0700b602a9c3d2769d979303499df8d6605
CRs-Fixed: 2341133
Add the basic infra for legacy DP CFG items and the APIs
to be used from other components.
Change-Id: If7ad0e02c65e04ea13a308e680c9ba3b3d84ae25
CRs-Fixed: 2324099
In sap_deinit_ctx() the check to free sap_ctx->channelList is after
sap_ctx is memset to 0 and thus sap_ctx->channelList will always be
NULL and memory will never get freed.
Also there is no need to reset scan_vdev_del_in_progress after vdev
is deleted in firmware as there still can be the race when scan is
processed. scan_vdev_del_in_progress will be deleted with obj_mgr
vdev so no need to reset it.
Change-Id: Ie5f133d4db48485434436e67ce1643d8e1e04106
CRs-Fixed: 2342039
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of all of the WE_PPS_* sub-ioctls
has a complexity greater than 1, so refactor that logic into separate
functions to help reduce the complexity of __iw_setint_getnone().
Change-Id: I2abde9c5e300302c7948049027d2db88c893211a
CRs-Fixed: 2341123
If event posting to VDEV state machine fails, the memory allocated
in lim join and reassoc req is not freed, leading to mem leak.
Fix this by freeing the memory in failure cases.
Change-Id: I3769684e6ad64341b73dd6f6343adc8c0d26d04c
CRs-Fixed: 2342487
When SSR is in progress, when trying to remove self peer, if
wma_remove_peer() is failed then wma_vdev_detach() doesn't send del sta
response and wma_self_peer_remove() can still proceed to start vdev
hold request timer. This can lead to skip of vdev reference count
release by wma acquired during vdev attach.
To address this, release vdev reference count when self peer remove is
failed and when del self sta request is timed-out.
Change-Id: I2703261a848983b10798cb8ec74d1cec5a393ce5
CRs-Fixed: 2342453
Currently Napier FW WAPI TX/RX initial PN logic is fit for WIN
host, modify MCL host to align with WIN so that WAPI can work.
Change-Id: I0b49a25e75d1e9c4856daf8648d6561486005ba9
CRs-Fixed: 2323152