Currently, the vdev connection status is checked by getting
the bss peer of that vdev, and if the bss peer is in associated
state then vdev connected status is sent as true. It can happen
vdev is present and bss peer is deleted after getting the bss peer
from vdev pointer. Then bss peer can not be dereferenced to get the
its status.
Instead remove all the duplicate api's tdls_is_vdev_connected,
pmo_core_is_vdev_connected, and wlan_vdev_is_connected with
wlan_vdev_is_up. wlan_vdev_is_up gives success status
if associated.
Change-Id: I863c3c0689f329870bd08c813813c16956135209
CRs-Fixed: 2424996
With the introduction of code change in
I16a5429c00034fe58fb4c70a8dacda666ac54227,
function __wlan_hdd_cfg80211_suspend_wlan doesn't
need the local variable 'scan_info' any more, so
remove it.
Change-Id: I09070d90004f740b25b45b424902521e7bfb6f6b
CRs-Fixed: 2425697
Add INI option to control consecutive WMI writes. Setting this 1
will essentially serializes the HTC WMI command writes.
Change-Id: I8e28990127f3e4dac2fa91ac9b9df87eed321a2a
CRs-Fixed: 2424795
Add support to get the various Coex data from the debugfs.
This commit adds the support to get the various coex data:
* COEX STATE
* COEX DPWB STATE
* COEX TDM STATE
* COEX IDRX STATE
* COEX ANTENNA SHARING STATE
The specific state information can be read via the debugfs.
Example to read the COEX STATE logging:
sm6150:/ # cat /sys/kernel/debug/wlan/mws_coex_state
vdev_id = 0
coex_scheme_bitmap = 0
active_conflict_count = 0
potential_conflict_count = 0
chavd_group0_bitmap = 0
chavd_group1_bitmap = 0
chavd_group2_bitmap = 0
chavd_group3_bitmap = 0
Change-Id: I92272ad7edf44df22730ac0fa992d876840ba632
CRs-Fixed: 2413943
kstrtou32() expects 3rd argument to be of data type unsigned int,
but currently argument of type int is passed.
Fix this by changing int to unsigned int.
Change-Id: I9ee73a67ab609fe646877db3c967f9972dacc988
CRs-Fixed: 2425520
Do not change bus/target delta for QCN7605. All the credits
received from FW will be released to the schheduler.
Change-Id: I17dbd1a4545d8b577ea521773c17506a0fc818cf
CRs-Fixed: 2423138
On association completion, RX handles are registered with the DP layer
as a part of cdp_vdev_register. It is possible that immediately after
association, host receives RX packets, but RX handles have not been
registered for the vdev with DP layer.
Drop packets in DP RX Thread if OS RX handles are not found for the
vdev.
Change-Id: I3bbd489ec9c5e6f6267521818663b123a85bb3f9
CRs-Fixed: 2419376
In csr_roam_issue_set_context_req_helper, reference of vdev is not
released after get.
Change-Id: I686cd6a8dfd7e7889ef8e9ac3a4c6eb6be217f6e
CRs-Fixed: 2424885
vdev->osif_rx_stack is overwritten to NULL when register tdls
peer, meantime, if there is RX data wait ro be indicated in
dp_rx_thread queue, host panic since vdev->osif_rx_stack
is NULL.
configure rx_stack when register tdls peer if dp_rx_thread is true.
Change-Id: I4afebce7f5f89485c9661f6394a8fd484409c05c
CRs-Fixed: 2423270
Currently there is no support to send twt capability to
user space.
Add Support to advertise twt capability to user space using
vendor flag QCA_WLAN_VENDOR_FEATURE_TWT when get capability
vendor command is invoked.
Change-Id: I9a91b864d6233c0341c67e46669f0d938f262178
CRs-fixed: 2424361
In hdd_soc_remove, epping_disable/epping_close are called after
hif context is cleared by hdd_wlan_stop_modules.
hif context is needed to cleanup epping adapter and since hif
context is not available during epping disable/close, epping
adapter cleanup fails.
Handle epping_disable & epping_close by moving them to
hdd_wlan_stop_modules before hif is closed
Change-Id: I43d516006c413daa936d2401484cf3d745a94c74
CRs-Fixed: 2419665
Random failure is observed when trying to parse RSN IE from
assoc_ind->assocReqPtr in sap_fill_owe_ie_in_assoc_ind.
It should be parsed from ASSOC_REQ_IE_OFFSET.
Change-Id: I8f532f8850a7d997e0227a9e00d4285297243495
CRs-Fixed: 2408770
Periodic time sync feature is not needed on mainline hence
disable this feature by setting gRemoveTimeStampSyncCmd = 1.
Change-Id: Ifbffc02c61af3be8300a97d9be7b2c7dceaf263d
CRs-Fixed: 2422866
Most of the identifiers used in the wlansap_roam_callback() prototype do
not match the ones used in the implementation, and furthermore the one
that does match does not conform to the coding standard, so update both
the prototype and the implementation to have identical, conforming
identifiers.
Change-Id: I3cf3622121d15bb6c9fb2f9a63a0f9b99dd675f6
CRs-Fixed: 2423731
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename SAP identifier pScanResult to be
compliant.
Change-Id: I7a43a55f19d3d9bed4ba84d80347c49c944af45f
CRs-Fixed: 2423730
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tWLAN_SAPEvent typedef does not
meet any of those criteria, so replace it (and the "pt" variant) with
a properly named struct.
Change-Id: Ie39e51a24a16f0c19b7b0fe926748a6b90d31632
CRs-Fixed: 2423729
Function sap_update_unsafe_channel_list() is conditional upon feature
flag FEATURE_WLAN_CH_AVOID. However there isn't a stub implementation
for when the feature is not enabled, and as a result in-function
conditional compilation is required at the call site. This is contrary
to the coding style, so introduce a stub implementation for when the
feature is not present. In addition make this function static since
the scope is local to a single source file.
Change-Id: I12f010ac8f6d2cb63794e3295977bfac4266cca1
CRs-Fixed: 2423728
The information currently being stored in the sap_context's
acsBestChannelInfo is only utilized during the execution of function
sap_select_channel(). Since this use temporal there is no need to
cache the information, so remove the struct from the sap_context.
Change-Id: I6ca7ff73752ed44fdf11ad99f303538480942edb
CRs-Fixed: 2423727
The SapQosCfg in struct sap_context is written, but is never read.
Since this information is unused, remove it.
Change-Id: Ic04980cd365524d458f6cb5d3e1ea411d1efd10f
CRs-Fixed: 2423726
Below scan flags introduced from Linux kernel version 4.15. Advertise
the mandatory flags from Linux kernel version 4.15 and backport versions
if OCE STA feature enabled.
- NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME
- NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP
- NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE
- NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION
Change-Id: I700c7021ff921066d6ca2f9a00ce3ea93c0552df
CRs-Fixed: 2418086
The hdd_context.iface_change_lock field has been obsoleted by the
addition and integration of the Driver Synchronization feature. Remove
the hdd_context.iface_change_lock field
Change-Id: Ib0a184476735c6ee7eb70c307557e91d33538429
CRs-Fixed: 2423620
With the addition and integration of the Driver Synchronization feature,
it is no longer necessary to keep track of whether the driver modules
are starting or stopping. Remove the driver modules starting/stopping
flags.
Change-Id: I4718eedfaa1305780c5fcf6a2ff04114b210a911
CRs-Fixed: 2423618
hdd_ctx.con_mode_flag has been obsoleted by the addition and integration
of the Driver Synchronization feature. Remove hdd_ctx.con_mode_flag.
Change-Id: I33c47997e9f473e19ed96d7cd1cce00eb3b2365f
CRs-Fixed: 2423617
After parsing initial WMM params (say with version 1) if
driver gets another WMM param with same IE present of qbss
params (say with version 2), the driver rejects the entire
IE. This results driver does not send WMM/WME IEs in assoc
request as per expected value.
Fix is to make sure driver should not process duplicate
WMM/WME IEs.
Change-Id: Ieb218af18709b0632b91c8d66560690667bfb8fa
CRs-Fixed: 2415298
If two thread are trying to access the connection entry and one of them
Is modifying it by temporarily deleting an entry, the other thread may
get the invalid connection entry and decision made using that connection
table will be invalid.
Thus acquire the lock before the entry is temporarily deleted and release
only after its added back.
Change-Id: I83b9d7a77045d8bddd6cf3e4b1af80bded116e2f
CRs-Fixed: 2422611
ipa disable pipes request is honoured based on
ipa_pipes_down flag. However, there is a possible
synchronization issue if disable pipes request is
initiated from different contexts, as there is no
locking to protect this flag.
Add pipes_down_in_progress flag in ipa_ctx and
use this flag to ignore disable pipes requests if
one request is already in progress.
Change-Id: Iabf01249d4b6a551e03cea2ae96a0c6096f43ff8
CRs-Fixed: 2423155
kstrtouint() expects 3rd argument to be of data type unsigned int,
but currently argument of type int is passed.
Fix this by changing int to unsigned int.
Change-Id: I8263de9a4a9260da91dac6be021c54a927390a9a
CRs-Fixed: 2423711
Check for last active connection to set SMM is checked in
hdd_stop_adapter. hdd_stop_adapter can get called even when session
is still active and thus the last connection check may fail to detect
the last connection and driver may end up sending SMM req after all
vdevs are deleted as part of opportunistic timer callback.
To fix this move the check in hdd_vdev_destroy once the session is
disconnected.
Change-Id: Ie074d690ec0b2848529910bd8e1411c149d4483f
CRs-Fixed: 2423329