The assumption of link info sub-element offset
starting after link_id in common info sub-element
is wrong. There are other non mandatory fields
in common info sub-element.
The actual offset of link info sub-element
starts after the length of common info length.
Change-Id: I23bb7b148a672d0a45b0e32932f4a15a7e584b72
CRs-Fixed: 3443099
Enable the short GI support for 160 and 80+80 MHz only
if 160/80+80 MHz self cap is enabled for the STA DUT.
Change-Id: I4b9de06fe5b0cc8aecb35207fa1d117bfc23ed30
CRs-Fixed: 3416932
Stub exist for functions that does not exist. Was introduced as
typo that was fixed. Remove the stub.
Change-Id: I59797783ddec41f2afc08bae49191c13500b02fa
CRs-Fixed: 3441916
Rename session_id with vdev_id in
policy_mgr_check_for_session_conc() to avoid confusion.
Change-Id: I9449395043f3f8d4e632f38770405febb1e227ab
CRs-Fixed: 3439906
Current code does not include hang event data to ssr driver dump.
Fix this by adding struct registration/unregistration.
Change-Id: I6c21cbf7b2d0a242e1469b32820373a61235ac7a
CRs-Fixed: 3443220
Current code doesn't have hif_ce_desc_history in ssr driver dump.
Fix this by adding the two data structs: hif_ce_desc_history_buff
and hif_ce_desc_history to the ssr driver dump regions.
Change-Id: I4b73dfe8909bd4f75cdf8c172c590c0aff3b1d1c
CRs-Fixed: 3443225
Hostapd sends RSNIE with around 18AKMs. However, the driver
data structures allow storage upto 6 AKMs only. Therefore,
the dot11f unpack modules returns BAD IE. The akm suite
however carries the parsed count of 18.
The HDD caller checks only DOT11F_FAILED, which doesn't cover
many of the DOT11F_xx failure status codes. Therefore, instead
of failing BSS, the IE is processed further and access of 18
contiguous AKMs takes place leading to OOB read crash.
To fix this, check for all the failure status code and stop
the BSS upon RSN/WPA/WAPI IE parse failure.
Change-Id: I16399c8a5bd61b09d29cd88e35c0ec441c6b9af4
CRs-Fixed: 3445762
SAE authentication happens with MLD address rather than link
addresses as it's common authentication for all links in an ML
connection. But OTA exchange of authentication frames happens
with a chosen link address from available links.
As userspace takes care of the SAE authentication, host driver
has to replace the rx SAE auth frame SA with peer MLD and DA with
self MLD address. Similarly for tx SAE auth frames, replace self
SA with link address and DA with peer link address.
Current change is to support the same for roaming case. Fetch the
MLD from scan cache corresponds to link address provided in roam
auth event and replace as mentioned above.
Change-Id: Ide15caa122f78301391b5ea891e2e6eaf4af8974
CRs-Fixed: 3441483
Currently the RX link speed reported is taken from driver instead
of FW. In light of performance, driver will stop reporting rates
info when throughput exceeds certain threshold. In that case, the
rates info to be reported is from parsing the rateflags from FW.
However, driver sometimes fails to get an appropriate MCS index
and has to assign 0 to it, which has unfriendly user experience
when too much MCS=0 occurs. To address this issue, first, update
the logic to ignore the throughput judgement to make sure that
the rates info to be reported is always from driver. Second, add
the function wlan_hdd_get_peer_rx_rate_stats() where wma_get_mcs
_idx() has been called, to prevent the already updated rates info
from corrupting by FW due to multi-thread. This change has little
impact on throughput because the function is not called frequently.
Change-Id: I73e874caa8e77325c9e81d0e5929e1ba539946a5
CRs-Fixed: 3434764
Obsolete TWT functions are still called in driver. As part of
removal, Remove these functions and use component function.
Change-Id: I43c804c3b9b8ecd116aefe58f230755c041ae1e9
CRs-Fixed: 3261499
Obsolete TWT functions are still called in driver. As part of
removal, Remove these functions and use component function.
Change-Id: I9f8b4186753ec9d446399be9e1cfc03a63a17391
CRs-Fixed: 3294868
Componentization is complete, therefore, TWT component
should be used whenever TWT is enabled. Replace CONFIG_WLAN_TWT_CONVERGED
with CONFIG_WLAN_FEATURE_TWT to always enable component for TWT.
Change-Id: I849387c751a6d5f1c6d338ac9c2dfdb72244c137
CRs-Fixed: 3300364
In the driver, if CLUB_LL_STATS_AND_GET_STATION feature is
enabled, host requests Link Layer stats and station stats
from firmware periodically using a single WMI command.
Host then sends LL_STATS to userspace and caches station stats
in the adapter. Whenever userspace queries station stats, based
on the sta_stats_cached_timestamp, host returns cached stats
from adapter instead of sending a new WMI request.
The current issue, as part of station stats firmware also sends
connection_tx_power stats, which aren't cached into the adapter.
So, whenever userspace queries get_tx_power via nl commands,
host sends a WMI request to firmware for tx_power leading to
platform wakeups and power impacts.
To resolve this issue, cache the tx_power sent by firmware into
the adapter during station stats and return the cached value to
the user space.
Change-Id: Iaefc5629872431cbc6c24090b1edb6cebdad995a
CRs-Fixed: 3439323
When roam from mlo to legacy, self mac need change from link addr to
interface addr.
When roam from legacy to mlo, self mac need change from interface addr
to link addr.
Self mac in vdev is updated by mlo_roam_update_vdev_macaddr already,
self mac in pe session need update too.
Remove useless self_mac in roam_offload_synch_ind.
Change-Id: I7bdfe35d5a219cb2c0eba30a4995babc8ac6199a
CRs-Fixed: 3442785
Since special vendor roam log is not need for common roam,
add flag to filter the log.
Change-Id: I5eb47f68048a48f817037e5e98d3e7fe51ee6565
CRs-Fixed: 3437627
For SDXPINN to support 4 SAP concurrency, set
CONFIG_WLAN_UMAC_MLO_MAX_DEV = 4.
Change-Id: I3005efad37a28055492c8297ec21da8851faa34b
CRs-Fixed: 3442194
Disable TDLS offchannel on SAP start if concurrent STA with
TDLS exist.
Enable TDLS off channel after SAP start if SAP and
STA are not in MCC.
If TDLS is enabled, and off channel is required, update
TDLS off channel to be the SAP channel.
Change-Id: Ica508889acbae5e2dc4269d4d7518cf01d62714f
CRs-Fixed: 3444747
Disconnection is logged even if keepalive indication is
sent to host after firmware sending final beacon miss
event.
Add two new roam failure reason code to indicate roam
failure and send final beacon miss.
ROAM_FAIL_REASON_NO_AP_FOUND_AND_FINAL_BMISS_SENT: Indicate
roam failure when no ap is found and final beacon miss
is sent.
ROAM_FAIL_REASON_NO_CAND_AP_FOUND_AND_FINAL_BMISS_SENT:
Indicate roam failure when no candidate ap is found and
final beacon miss is sent.
Change-Id: I6d7a6034f8be5388dd35dd3c05fecfd40a8d888d
CRs-Fixed: 3437060
Refactor the hdd_vdev_destroy() code to move deinit of various
components to new API.
Change-Id: I705c328e4296fa4bc939d5d8a6174a709ee751b1
CRs-Fixed: 3306914
umac serialization details should not be exposed to OSIF, currently
during the vdev deletion OSIF is directly calling serialization
resulting in layer violation.
Move the serialization call from OSIF to inside the umac.
Change-Id: Idd972f31b074d4281c5914c8e34deafd0d0da0d7
CRs-Fixed: 3397919
Remove the INIT_TX_RX_SUCCESS adapter flag as its
functionality is insignificant after DP componentization.
Change-Id: Ief86ab81c42b767113bde46252246fa8677588ce
CRs-Fixed: 3399329
Refactor the hdd_vdev_create() API to move device mode
based VDEV config to a new API.
The new API calls required configuration functions
based on the device mode.
Change-Id: I54c5412577b70d92652cb16fcfb10e4d69e6f6fd
CRs-Fixed: 3445149
Check if TDLS is allowed for the current existing concurrency
combination. In below combinations, TDLS is not allowed:
1. MCC on STA vdev
2. STA + STA
3. Total connection count > 3
4. No STA vdev exists
If existing TDLS connection exists when 4th port is coming up,
then teardown the TDLS connection and disable off channel.
Change-Id: Iabe174bedecfa6147bd9de3cb2a3716b63145456
CRs-Fixed: 3435864