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
In some build environments the length of the C compiler command line
exceeds the maximum length of the underlying shell, resulting in the
shell reporting: Argument list too long.
Kbuild has many definitions which add -D switches to the C compiler
command line to define macros to be used for conditional compilation.
Most of these are set conditionally, but there are some that are set
unconditionally.
As one step in the process of shortening the command line, refactor
the macros that are set unconditionally out of Kbuild, and put them in
a separate .h file which is then included in every build. As long as
the added -include switch takes up less room than the sum of the -D
switches, then this will result in a shorter command line.
Change-Id: I95e0e8237d15dee58e519ea526a74c52eeb7dbd2
CRs-Fixed: 3460064
TWT concurrency update is called before ndp connection is added to
policy_mgr count. TWT concurrency_handler reads incorrect count which
causes wrong mode to be checked. Fix is to call TWT concurrency
update after NDP entry is made in the policy manager.
Change-Id: I7f259885f7402ab018ff7c7cd020bb3f9298dba1
CRs-Fixed: 3454000
Add optimization to select the max possible band width
when do SAP LTE channel avoidance channel change.
Change-Id: I82745d47c55ae42f59691a9634a34b0cff2b4e36
CRs-Fixed: 3440166
Host received deauth and roam sync back-to-back after WoW, sent vdev
RSO_DISABLE before RSO_STATUS event, F/W assert.
1. Host received deauth event, limSmeState went out of link est state, sent
async event of cm_send_sb_disconnect_req.
2. Host received and handled roam_sync, CM_RSO: vdev0:
[ROAM_RSO_ENABLED(2)] --> [ROAM_SYNCH_IN_PROG(5)], roam sync failed since
not in link est state.
3. Host aborted roaming, ent back to CM-VDEV-0: CONNECTED, removed roaming
cmd from serialization queue.
4. Host sent RSO stop to F/W.
5. Host handled cm_send_sb_disconnect_req, dropped RSO stop during roam
sync, called cm_disconnect_continue_after_rso_stop without waiting for
RSO_STATUS event.
6. Host sent vdev RSO_DISABLE and vdev stop before received RSO_STATUS
event, F/W asserted.
To fix it, if host roam sync failed, need wait for HO_FAIL event and handle
it before handling other cmd, can't remove roaming cmd from assoc vdev
serialization queue to unblock other pending cmd before handling
HO_FAIL, just send assoc link RSO stop to F/W one time with
REASON_ROAM_SYNCH_FAILED, then wait for 2 events: FW_ROAM_EVT RSO status
and HO_FAIL. then handle HO_FAIL, at last remove roaming cmd, unblock other
cmd and trigger disconnect.
Change-Id: I03dd3ed21007ee67613c2d90b5567348c240f375
CRs-Fixed: 3445233
For MLD case, it may receive two discovery response frames if
peer is MLD device. In this case, it needs to check the response
frame and make a decision about which vdev is used for TDLS
vdev.
Change-Id: I3d7c3343aef2d6843b362fca191caef8b982d3f8
CRs-Fixed: 3439577
Set parameter add_sta_params->eht_capable accordingly whether
the peer STA support it or not.
Change-Id: Ib3664be74ece59804321e187fea889610c0a2a86
CRs-Fixed: 3454661
Reserve log like "[18:11:32.086000] [ROAM_TRIGGER]: VDEV[0]"
for common roam and special roam.
Some customers are used to get log from serial port, reserve
this log can better support debug.
Change-Id: I79565c87cfcf42ae5de3d6895c27666d2676370b
CRs-Fixed: 3451003