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
Currently SIFS burst configuration is done from
osif layer though there isn't any dependency on
the osif layer.
Move the configuration of SIFS burst to post
vdev create.
Change-Id: Id1e6064164c0ea9d6ab5c5b1217c7c275fb45832
CRs-Fixed: 3297656
Introduce a new API to configure the rtt and ftm
parameters for the VDEV.
The API can later be used to configure the
rtt and ftm parameters on per VDEV of the adapter.
Change-Id: I9d7411fa76520b0a1876f38c27122a14a91826b7
CRs-Fixed: 3297665
Introduce a new API and use it to configure
the station context of the adapter.
Change-Id: Iee2af060ec3c74782127bd0f202719b4bfe3dab2
CRs-Fixed: 3297636
Currently, rssi, rssi_send, rssi_on_disconnect and snr members
are part of hdd_adapter.
Move following fields to link info
1) rssi
2) snr
3) rssi_on_disconnect
4) rssi_send
Change-Id: Iec76cdf51ed72adefacc4b77a6a2d1d8a28e96b6
CRs-Fixed: 3294941
In SAE roam offload case, the SSID of the candidate is
retrieved from the roam candidate frame, and this SSID
is sent to the userspace for initiating SAE authentication.
However, if roam candidate frame is an MBSS beacon and the
candidate BSSID is present in non-tx profile, still the
SSID from tx profile is sent to the userspace, which leads
to authentication failure.
To fix this:
a) Save the BSSID in addition to the SSID during the roam
candidate frame extraction.
b) During roam auth offload event, get the SSID from the
scan cache only if the existing BSSID cache(filled in #a)
doesn't match with the BSSID received in roam offload event.
This would prevent the time expensive scan table lookup
operation for non-MBSSID cases.
Change-Id: Ib8cc0408cba7ccfc8c2b3e2d657f7b40f8a4d421
CRs-Fixed: 3437698
When fast reassoc command is received with bssid
and channel frequency set to zero, if no candidate
found, STA DUT should disconnect.
Currently STA is disconnecting from current AP but
the also when FW aborts roam.
To fix this add additional check for roaming source and bssid.
Change-Id: I6ee3f5cea6ef3976b9cc5549ab113e4af30484d7
CRs-Fixed: 3441770
Refactor tgt_mc_cp_stats_send_raw_station_stats into
vdev_mc_cp_stats and peer_mc_cp_stats functions to
improve code readability.
Change-Id: I5b313a84f4dd758d0b166940f055153bfae345a6
CRs-Fixed: 3442881
In multi link connection, for partner link vdev power save
is not set if not associated.
So, check if the adapter is multi link instead of the vdev and
set power save for partner link vdev's as well.
Change-Id: I483a75ed0ab631e535d06d9bd4d08b8de986cd07
CRs-Fixed: 3417368