When P2P CLI is connected first and then STA is connected,
disable TDLS on existing interface and enable TDLS on the STA
vdev.
When existing STA + TDLS exists, disable off channel when P2P
connection is started and re-enable off channel for TDLS once
connection is complete. Don't teardown TDLS peers once the
P2P client connection is successful.
Change-Id: I91d152a3a052706289c06cebc932c84a69fdbc00
CRs-Fixed: 3455639
Currently the Debug Log DebugFS functionality in the qca-wifi-host-cmn
project is protected with #ifdef WLAN_OPEN_SOURCE.
The WLAN_OPEN_SOURCE macro was introduced for a legacy reason that is
no longer applicable. In order to remove the WLAN_OPEN_SOURCE macro,
introduce a new feature-specific WLAN_DBGLOG_DEBUGFS feature flag.
Once the Debug Log DebugFS functionality moves to the new flag, the
WLAN_OPEN_SOURCE macro can be removed.
Change-Id: I159af54ab91d009e5bf50d67492cbc62a05bad47
CRs-Fixed: 3463793
Currently Kbuild uses both cppflags-y and ccflags-y, The kernel Kbuild
documentation recommends using ccflags-y, so consistently use that
everywhere.
Change-Id: Ic5f86bad5d4260f39f98b5ce1b56ba6a69606aa9
CRs-Fixed: 3463792
As part of commit(Id680d0f6193740b24e78115ac7dc7be26e28acff)
during roam driver notify the TDLS STA about disconnection.
During this driver sends the TDLS disable command to Firmware
without deleting the TDLS peers. As a result of this in FW the
TDLS delete instance is called and TDLS handle is marked as NULL.
And later in driver the TDLS peers are getting deleted and now
the teardown update command is sent to Firmware. But in FW as
the TDLS handle is already NULL, it has asserted and crashed.
Fix is to delete the TDLS peers in driver and update the teardown
to Firmware and then send the TDLS disable command to Firmware.
Change-Id: Ic425cc065a29bbc444531f523eaccb14014ae47a
CRs-Fixed: 3455117
In wlan_hdd_cfg80211_get_txpower function, to avoid
frequent WMI calls to firmware to get connection tx power,
host always returns the periodically cached tx power
acquired as part of UNIFIED_LL_GET_STA stats.
The current issue is, in case of SAP mode with no
stations associated, the tx_power is not cached into the
adapter, and host always returns default value.
To fix this issue, based on timestamp when tx_power is cached
into the adapter, host will either return cached value or
value obtained from WMI command.
Change-Id: I9dfbf9ea4d8b0d9430e6ab49cdc9f26c83079676
CRs-Fixed: 3456632
Currently, MLO vdev flag is not cleared even when STA roams to a
legacy AP from an ML AP. This causes sending invalid info to
kernel as the os_if APIs still treat the connection as MLO
connection though STA roams to an ML AP.
Clear the assoc vdev MLO flag to avoid this.
Change-Id: Iaf013aebd1fe794202abdeeaa6b5db14987b6103
CRs-Fixed: 3466501
tdls_disable_in_progress checks are always false since the
tdls_disable_in_progress is never set to true.
So cleanup the condition checks that use the
tdls_disable_in_progress variable.
Change-Id: I8a5f868c09919fc5835b9f8f7f30a32d59dab74a
CRs-Fixed: 3445123
Enable software and hardware TX descriptor history on WCN6750;
this will aid in TX data path debugging.
Change-Id: Ia5f84d79c1f721ea959beec48088fd3823d75ce0
CRs-Fixed: 3460664
Currently Peer Ref leak functions (eg: wlan_objmgr_print_ref_func_line)
are not being compiled in defconfig due to flag is under
CONFIG_CNSS2_DEBUG.
To fix it by moving appropriate flags outside the
CONFIG_CNSS2_DEBUG flag.
Change-Id: I4501a895611c7339b6842ea3ad4b4bc50e78bb7e
CRs-Fixed: 3459656
Currently the Kbuild adds "-Wall -Werror" to the C command line.
However, the kernel already adds these by default, so stop adding the
duplicates.
Change-Id: I8d0b777feafd726ab29278739ac20bcaf0f7f000
CRs-Fixed: 3463791
Currently in Kbuild most of the feature flags, but not all of them,
are set in one place. In order to make the Kbuild more maintainable,
and in preparation for future refactoring, consolidate all of the
feature flag setting in one place.
Change-Id: Ie7bcf67304990991f555b0bdd93f3ad38b52bddd
CRs-Fixed: 3463790
Currently, host driver checks if there are peers present on the NDI
and clean them up as part of NDI cleanup. Cleanup is done in below steps,
1. Set the state to NAN_DATA_END_STATE
2. Send NDP_END_ALL to firmware to end all existing NDP sessions on the
NDI and to cleanup corresponding peers
3. Move the state to NAN_DATA_DISCONNECTED_STATE finally if NDP_END_ALL
goes fine.
But if no peers are present on NDP, none of the above happens and NDI
state stays and doesn't move to DELETED. So, set the NDI state to
DISCONNECTED if no peers are present.
Change-Id: I0d22c240b3e3eee5f62ba8b369bab500e27487b7
CRs-Fixed: 3463614
add a space at the beginning of each string. otherwise if
more than one is NULL it will get a concatenated set of
strings instead of space separated strings.
Change-Id: I12426da8e14069a3d1f0048954f1033683f6c697
CRs-Fixed: 3458752
Remove unwanted QDF asserts from PMO and suspend all components as there is
error handling present for error cases.
Change-Id: I43b1ba36d9e2fb467a7a7c110abd4a2d44e5b1a8
CRs-Fixed: 3459928
During Radio Measurement request, if the TPC power exceeds
power limit set by hardware, use this limit to cap the tx
power sent in the link measurement report.
Change-Id: Ib169c767d14160f8994a845a00baead7f8e6c3e1
CRs-Fixed: 3452913
For WCN6450, it is required to send DSCP-TID map config to
the firmware. Enable the required configs for this.
Change-Id: I9327739aaed0fd1555a0cf2c99d6aceecc568ed0
CRs-Fixed: 3460632
In wlan_hdd_get_station_stats, NULL checking for
pdev_stats fails as it doesn't pass pdev stats info
to hdd layer. stats will not pass to userspace, it will
display tx bitrate unknown in command "iw p2p0 link" or
"iw p2p0 station dump".
issue only happen on p2p0 and not on wlan0. as wlan0 can
use cached stats in __wlan_hdd_cfg80211_ll_stats_get.
Fix is pass pdev stats info to hdd layer in
get_station_stats_cb.
regression cause is:
Iaefc5629872431cbc6c24090b1edb6cebdad995a
Change-Id: I33b608988aa288e0f8139524de5e20fcbba4f2be
CRs-Fixed: 3457955
Currently host waits for the firmware down event as part of the
recovery sequence to block the wmi transactions, if there is any delay
in triggering recovery some wmi commands can leak to firmware in this
window resulting in abnormal behaviour in the firmware.
So, block the wmi transactions after the recovery is initiated.
Change-Id: I502a8331111a6a61f31f35c4a1b64646410925f1
CRs-Fixed: 3444156
TDLS AP capabilities are stored in MLME, but is not used while
sending WMI_TDLS_SET_STATE_CMDID to firmware, instead false is
passed without passing the actual AP capabilities. This could
cause TDLS getting enabling when AP doesn't allow TDLS.
Cleanup few API and remove ap_cap structure in TDLS vdev private
object
Change-Id: I43c140d58e8777da3acf748f08f5d9915fd91bf4
CRs-Fixed: 3449324
If CSA on SAP/P2P GO causes MCC with the current STA TDLS vdev,
then teardown the TDLS connections, disable off channel and send
disable TDLS to firmware.
If CSA causes MCC -> DBS or MCC -> SCC then allow TDLS and update
the peer off channel list to firmware
Disable TDLS off-channel before SAP/P2P GO vdev restart.
Once CSA is complete, TDLS off-channel will be re-enabled based
on the concurrency.
Add interface manager changes to notify STA channel switch.
Change-Id: I36b359a7e1cf570cfb2b2f0e6abedf148a8fd174
CRs-Fixed: 3445112
When a T2LM teardown action frame is received clear the
previously negotiated peer level t2lm mapping and update
FW with established mapping if valid or default mapping
applies.
Change-Id: I7951c76fe3d6c1bf231300675f2b954ff7697b39
CRs-Fixed: 3420421
Currently, MLO flags are cleared before issuing disconnect on
the link vdev when DUT roams to a single link ML-AP. But these
flags get cleared as part of disconnect handler and not supposed
to be cleared anywhere else.
Clearing these flags before issuing disconnect on link causes
sending disconnect done indication to kernel as the flags
got cleared, which make the vdev as non-MLO. This race condition
is possible when a disconnect is queued from userspace on
link vdev while one disconnect gets processed on it(due to
single link roaming).
Change-Id: I8206c1b8197bf26ad852eafb631c8585bc749846
CRs-Fixed: 3439175
For TDLS in MLO case, when send addba response, it needs to
use MLD macaddr and set action code, then the frame can send
out properly and be received by peer.
Change-Id: I93b46ad88738fc2ee9c88bd52ab5d3a86ead3cd7
CRs-Fixed: 3462062
Since for MLD device, it can only choice one link for tdls,
add logic like this:
1\ As initiator, it needs to send discovery request on each
link, before send the frame, it needs to force active the link;
2\ As responder, it sends the discovery response the link id,
before send the frame, it needs to force active the link;
3\ For other tdls management and tdls operation, it needs to
find out which link(vdev) is used as tdls link first.
Change-Id: I64e27219eb6c6b3fef62e541423aa8e5d84b1560
CRs-Fixed: 3439568