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
Currently, only broadcast disassociate is supported and deauth is
send in a unicast manner.
For enabling broadcast deauth support, bypass the unicast deauth
and directly send broadcast disassociate.
Change-Id: Ie196bc955b5b9a9f48a474e5f109b2a6c73fa208
CRs-Fixed: 2420980
During LFR2 roaming, after the preauth with new AP
and disassociation with current AP are successful,
proper HW mode should be set based on the
existing concurrency scenario.
Change-Id: I312ed10bc844712b3dba36680457198a19f1e85c
CRs-Fixed: 2367224
Add new driver commands SETCOUNTRYREV and GETCOUNTRYREV to set and get
the country code respectively.
Change-Id: Ia231b2842f127d1e48ffdc110d3d7ec08a15bd6c
CRs-Fixed: 2412656
During channel switch in AP, Driver send beacon with CSA count
and wait for first beacon tx complete to initiate the host timer
every beacon interval to send the beacon template with updated CSA
count till CSA count become 0 and then do the vdev restart.
If driver doesn't get first beacon tx complete, the state machine
get stuck waiting for CSA to complete and can lead to functional
and stability issues.
So wait maximum for MAX_WAIT_FOR_BCN_TX_COMPLETE time for first
beacon tx complete and if not received, start the timer for every
beacon interval to send the beacon template with updated CSA count.
Change-Id: I90fab62d0851144906a7e7bd56285e64729c568c
CRs-Fixed: 2423079
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within mac replace any such comparisons with logical
operations performed on the pointer itself.
Change-Id: I387e08b1ba4d46e6b5ca5cf08ba398a32a3a00d4
CRs-Fixed: 2418392