Issue: Host reports different RSSI values during roaming
trigger logging and subsequent deauth TX logging to user
space.
In case of roam trigger roaming, driver sends the rssi value
to user space from wmi_roam_ap_info tlv in roam scan results.
In case of disconnection due to BMISS or STA KICKOUT case,
host does not receive latest beacon from FW. This results,
on disconnection, host reports deauth TX logs to userspace
using old RSSI present in mac->lim.bss_rssi which is updated
when beacon or probe response is received in host.
Fix is to update mac->lim.bss_rssi while processing sta
kickout or bmiss event coming from FW.
Change-Id: I108f94959fbf915d8f67f443a9fcd54d595c27d1
CRs-Fixed: 3417363
Currently thermal level can be got from upper layer only
for FW thermal mgmt offload case. Per the requirement,
refine the code to support it for thermal non-offload
case as well.
Similar to offload thermal mitigation, add TX_OFF and
shutdown two states for non-offload case. Host will fully
stop TX traffic in TX_OFF state and target will trigger
shutdown when temperature come to the range of shutdown.
Per above requirement, add below four INI to configure
thermal temperature threshold value as need for TX off
and target shutdown.
gThermalTempMinLevel4
gThermalTempMaxLevel4
gThermalTempMinLevel5
gThermalTempMaxLevel5
Change-Id: I40d097ab8a5801052553ad7adedd38be475c7669
CRs-Fixed: 3413165
The reference taken for objmgr peer during ML peer
context creation is not released if any validation
has failed in pe_session initialization. The call
to directly remove objmgr is initiated without a
call to detach ML peer. This leads to reference
leak for the peer.
If lim_fill_session_params() API returns error,
wma_remove_bss_peer_before_join() API is called
to cleanup the peer objmgr. Call API corresponding
to MLO peer detach in this function to release
the MLO_MGR reference.
Change-Id: I010150b4aefe9f076455cd5aafb1c3b55155458b
CRs-Fixed: 3405762
Currently host driver considers wakeup from runtime PM because
of pagefult as well to trigger the SSR. Based on new requirement
do not consider wakeup from runtime PM to trigger the SSR.
Change-Id: I61837ee876fffa33d56035ee41c8e8a2b68e8ca7
CRs-Fixed: 3402848
Incorrect parameters exist in TWT documentation. Correct parameters
to match function.
Change-Id: Ida1c223b8e5735cc9126f321142218d56716d4be
CRs-Fixed: 3414468
Currently vdev set parameters sends through
wma_cli_set command, during processing of cli_set command
some vdev set params stores in vdev_cli_config
For remaining params printing invalid
which creates confusion.
To fix this modify debug print to param is not part of
vdev_cli_config to avoid confusion.
Change-Id: I5644adfe6d7cff61b09a6191813109877c378fdd
CRs-Fixed: 3412198
In the case of EHT, if the mode is MLO then set AMSDU/AMPDU
caps per vdev instead of setting it only on assoc vdev.
Change-Id: Iaf480ee6a42cea83e30f412f663f688c0330d246
CRs-Fixed: 3392015
Currently many host hang reason codes are not mapped to corresponding
userspace codes as a result these hang reason code will be invalid
for userspace and also QDF_REASON_UNSPECIFIED is used in some places
in host.
To add mappings for host hang codes to corresponding to userspace
hang codes and also add new hang codes.
Change-Id: Id617c2bbfd72b0e83b50f522fd1313fbc9eea2cc
CRs-Fixed: 3381230
In case of legacy to multi-link MLO roaming, if roam sync event
handling fails, then the pe_session is deleted for the link
VDEV and the cleanup happens only for the assoc vdev. Since,
the link vdev doesn't have proper session/vdev params, the
cleanup fails in link VDEV. This leaves the link vdev in UP
state, even after disconnection. Therefore, subsequent attempts
to connect to an MLO-AP would fail since the partner link is
never cleaned up and is in invalid state(UP).
To fix this, propagate the HO-failure error through state machine
and move the VDEV SM from UP->DOWN directly.
Change-Id: I6480a1821ab4c8cf9af6cd96af0f7889307c3b18
CRs-Fixed: 3362995
Previous code was already align with spec.
This reverts Change-Id Id16123baf7a18ce10c3c5776b6ef33864a0d9a82.
Change-Id: I83102059e94f71d61ec2eb564f0c9e2d6b253872
CRs-Fixed: 3361303
There are function parameters missing in kernel doc for TWT.
Add the parameters to kernel doc and fix mispellings.
Change-Id: Ice88e22fed8fb01760b4ed7981cb6b042f3751d6
CRs-Fixed: 3349940
with recent host change
"Trigger SSR on wakeup from pagefault"
missed to update copyright year for some files
This change will update that missed copyright
year to 2023.
Change-Id: I1b2972e824b21e70c697bf819ee34312946aed6b
CRs-Fixed: 3387893
WMA MGT RX process extraction are logged in err level.
Rate limit the logs to avoid excessive logs to kernel
logging.
Change-Id: Idde55ab4dab24d55ff9e7239a69d586bd4f855ef
CRs-Fixed: 3391246
Modify the log level from error/info to debug, to reduce logging
time. henceforth, it reduces intf deletion time and enhance the overall
performance of device.
Change-Id: I3498438e07daa97dc5b4805271397205c7aa0cf2
CRs-Fixed: 3389896
A 802.11be MLD device can have one of the links
address same as MLD address. On add peer for this
MLD peer the validation for existing peers with same
MAC address may fail as a match with existing peer
will be found.
If an existing peer with new peer's MLD address
is found, then allow new peer if both existing peer
and new peer are in same ML dev context, if both
are on different ML dev context, reject the peer
add request.
Change-Id: I30c53032f228f166a1011b330ca245581dfe468b
CRs-Fixed: 3381720
Whenever driver add new feature, it increments the feature version
and send it to firmware.
Due to new 11KV feature update, increments the feature version.
Change-Id: Ia840faf85c06a4f33f68f59dadda400c8e91804c
CRs-Fixed: 3381243
According to new requirement, use INIs
max_pagefault_wakeups_for_ssr,
interval_for_pagefault_wakeup_counts and
ssr_frequency_on_pagefault
to trigger SSR if host wakes up because of pagefault.
For ex: If max_pagefault_wakeups_for_ssr = 30,
interval_for_pagefault_wakeup_counts = 180000 (3 mins) and
ssr_frequency_on_pagefault = 3600000 (1hr), in this case host
will trigger the SSR if it receives 30 wakeups because of
pagefaults in 3 mins, host will trigger SSR only once in 1 hr.
Once the SSR is triggered, host will not trigger next SSR for
next 1 hr even if it receives 30 wakeups from fw because of
pagefaults. This 1 hr time is getting monitored from last SSR.
Change-Id: Ia06f87aff6d1552e37c582e7464f1b2451543502
CRs-Fixed: 3378502
Currently the set feature version is 2. There is a change in
min sleep period for TWT.
So increment the set feature version from 2 to 3
CRs-Fixed: 3378350
Change-Id: Iacee2a208b01144ced6b64834cbb3f6a5bedff20
Currently in the host in wma_set_sap_keepalive API
using incorrect param type i.e uses MLME_PDEV_PARAM
for vdev set param, hence host sends vdev params
as pdev params,pdev_id as vdev_id causes crash.
This fixes the MLME_PDEV_PARAM to MLME_VDEV_PARAM
for wma_send_multi_pdev_vdev_set_params in
wma_set_sap_keepalive.
Change-Id: Iae35211aa5057d2bb3a69b8f5caca6a548f9ed2f
CRs-Fixed: 3379012
Currently in wma_send_multi_pdev_vdev_set_params,
wma_validate_txrx_chain_mask APIs there is no NULL
check before dereferencing the pointer
in wma_dev_if.c
Add NULL check before dereference in
wma_send_multi_pdev_vdev_set_params and
wma_validate_txrx_chain_mask APIs
Change-Id: Ifa8e6dbdd9421145970a95f9c73794e79a41f8c3
CRs-Fixed: 3378273
Currently there is no information of delayed
wakeup packets when APPS is resumed because
of delayed wakeup.
Add the support to print the number of delayed
packets buffered in FW when resume happens.
Change-Id: Id76347f87f3c440b793f5d3bcb11270db8bdf061
CRs-Fixed: 3307262
Issue1:Compilation fails when CONFIG_FEATURE_WLAN_EXTSCAN
is enabled as the latest kernels(>=5.2) expect
two params(policy and maxattr) as vendor_command_policy
whereas vendor_command_policy is empty for old kernel.
When the macro FEATURE_EXTSCAN_VENDOR_COMMANDS is
replaced, it results in a compilation error as
the comma is missing between vendor_command_policy
and the previous param for latest kernel.
Fix1:Add a comma between vendor_command_policy and
the previous param(.doit) to make it compilable
for newer kernels as well.
Issue2:As part of recent code changes
all occurrences of blacklist/whitelist replaces to
denylist/allowlist in the driver.
which replaced interface structure member in the driver,
without changing actual definition of interface structure,
causes compilation error.
Fix2:Rename to actual structure member names.
Change-Id: I0024de7bf237c13297ed9a088a73a9f5c6a78d17
CRs-Fixed: 3370114
Currently host sends many ap keep alive timeout,
mgmt_tx_rate separately to firmware.
Combine these multiple vdev set params,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: I362770b367588220fc35508e4411635e35b3a548
CRs-Fixed: 3333872
Currently host sends many ap keep alive timeout vdev
set params separately to firmware.
Combine these multiple vdev set params,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: I82276e1f0761629489c38c5b7a64e7f0c35e82ce
CRs-Fixed: 3333784
Currently host sends two tx power limit pdev set params
separately to firmware.
Combine the two tx power limit pdevset params and also
bmiss cnt vdev set params,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params.
Change-Id: I3a232b57677ad604a25d71e9ff3069814a2c338c
CRs-Fixed: 3333774
Currently wma_process_rate_update_indicate sends
two vdev set params separately to firmware.
Combine two vdev set params of
wma_process_rate_update_indicate,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Icc50569bcc851c5ee269558b80a560b03e1fdcee
CRs-Fixed: 3333758
Pass the akm explicitly in the external auth
request to the userspace since there are many
SAE AKM suites.
Change-Id: Ifef8657f7ef75b402aa670813eba6adc5ab9853a
CRs-Fixed: 3355395
In wma_group_num_bss_to_scan_id(), bssid_list may be accessed out
of boundary.
Add check to avoid potential OOB access for bssid_list.
Change-Id: I218af0fe617f64a50c7c296c622f7fac01e1b4fc
CRs-Fixed: 3357461
Currently host sends many vdev/pdev set param commands
to firmware during vdev create/start/peer create from
wma_dev_if.
Combine all vdev/pdev set params of wma_dev_if,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params.
Change-Id: I8dd5a5b85d0458b3c79b8585c08b6e282ee3fd94
CRs-Fixed: 3333613
Currently wma_set_sw_retry_threshold sends two
pdev set param commands separately to firmware
Combine two sw retry threshold pdev set params,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Ia66a3e8e50002691008f66253d8cd76d2a1e9aa8
CRs-Fixed: 3333454
Currently host sends bmiss set param commands
separately to firmware.
Combine bmiss set params send to WMI to reduce
number of transactions.
Also replace target wmi vdev params with host wmi
vdev params to fix existing broken layering
violation.
Change-Id: I5867ee76f68abf462becafc1f5f80c422c239f4b
CRs-Fixed: 3333237
Currently in wma_extscan_hotlist_match_event_handler
API, dest_hotlist get memory allocation based on numap
which takes value from event->total_entries.
But numap is limited to WMA_EXTSCAN_MAX_HOTLIST_ENTRIES
and event->total_entries more than WMA_EXTSCAN_MAX_HOTLIST_ENTRIES
can cause out of bound issue.
Fix is to populate dest_hotlist->numOfAps from numap
instead of event->total_entries to avoid any out of bound issue.
Change-Id: I756f7e4a4dcd454508bba83d4a8bbbb139530905
CRs-Fixed: 3346781
XGAP power save event need host actions and notifying
the userspace.
Register for XGAP events to wake up host.
Change-Id: Ic58837580a35bd27ac5e87fc5debbd4f4d5b9b6b
CRs-Fixed: 3272421
Currently host uses nla_put_u32 for time_slice_duty_cycle
but it's an uint8 variable.
In order to address this issue use nla_put_u8.
Change-Id: I55024b0daeaf0219e3fe93ddb43b2da0c69c38e3
CRs-Fixed: 3347871
Add WMI interface(WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID) to
configure EDCA/PIFS param for LL SAP.
This configuration depends on edca_param_type.
If edca_param_type is 0 then host will configure EDCA param and
send it to firmware via WMI interface.
If edca_param_type is 1 then host will configure PIFS param and
send it to firmware via WMI interface.
Change-Id: I09f49474c0a698257d06aa4f1a17b56aae735fa5
CRs-Fixed: 3349447
In wow_get_wmi_eventid(), the reason to event id mapping fills
the wrong command id (WMI_ROAM_PREAUTH_STATUS_CMDID) instead of
the event WMI_ROAM_PREAUTH_START_EVENTID and.
Since the event WMI_ROAM_PREAUTH_START_EVENTID will not be
piggybacked, remove the reason WOW_ROAM_PREAUTH_START_EVENT from
wow_get_wmi_eventid api. Fix the documentation of setting the
WOW_ROAM_PREAUTH_START_EVENT bit in pmo wow bitmap.
Fix invalid event id mapping for WMI_TDLS_PEER_EVENTID also in
wow_get_wmi_eventid().
Change-Id: Ifd08dc94cda22d9de662ef15b74cb19571007052
CRs-Fixed: 3355578
In the current driver implementation, host honors LL_STATS request
even in disconnected state. But in disconnected state, the ll_stats
request pending flag is not updated properly, which results in allowing
multiple LL_STATS requests being sent to FW. So, to avoid this issue,
update the flag properly.
Change-Id: I318455492dc69bd540044b593a405eacdf185ff1
CRs-Fixed: 3339867
When vdev_mac_entry is NULL, update the hw mode index as well
to avoid mismatch between host and target.
Change-Id: I67bd91af8c72dcc468c128e266e7074308de04c0
CRs-Fixed: 3342565
Host/fw doesn't support the ml peers or legacy peers with same
mac address, So reject the client with the same link address or
mld address as one of the ml or legacy peers in the system.
Change-Id: I5f625e06c1f3832739d0424e1567a9957037fef8
CRs-Fixed: 3344809
Need to set default value for tdls_feature_set to
fix the 'variables may be used uninitialized' issue.
Change-Id: I1cab38220240432c620a83ecb2f4feefb71f2e4f
CRs-Fixed: 3342670
Correct the param mis-used issue when function
wma_handle_vdev_detach invokes function
wlan_mgmt_txrx_vdev_drain.
Change-Id: Ied3118028d881c2c0d4300daa6b24515b2797781
CRs-Fixed: 3349006
Currently, if SR (Spatial Reuse) is supported by AP and then
STA roams to another AP then host needs to parse SR IE and
send events to userspace and commands to Fw based on below
scenarios:
i.) Roamed AP doesn't support SR: If roamed AP doesn't support
SR then async event with SR disable is required to be sent to
userspace.
ii.) Roamed AP supports SR: If roamed AP supports SR then below
validations are required.
a.) existing thresholds are in range of roamed AP: Send SR enable
command to FW with previous thresholds , as FW disables SR during
roaming.
b.) existing thresholds are not in range of roamed AP: then decision
will be based on whether threshold is provided during SR enable command
or not. If threshold is provided along with SR enable command then send
disable to userspace and in other case update thresholds as per roamed
AP , send async event to userspace with new configured values and send
enable command to fw with new thresholds.
Change-Id: I0c39de349c0f723d49d510c6e8ba09dcb98c6d17
CRs-Fixed: 3316985
Potential NULL pointer dereference of wma pointer in
wma_pasn_peer_delete_all_complete() API.
Add validation of wma pointer before passing it to the
wma_resume_vdev_delete() API.
Change-Id: I9ccb7baa0dba4cb6bbb4a16fd90ee7e2aafde1c5
CRs-Fixed: 3340866
When firmware attempts roaming to an MLO AP, it tries to find
the complete ML info(all links info) either through ML probe
response or beacons from all the links. It forwards all link
beacons(or ML probe response) to host as part of roam sync
indication through roam sync frame event.
Add support to fetch both link beacons and add them to scan db.
If firmware sends ML probe response, generate link probe response
as well and add it to the scan db.
The link scan result can be used in link connect in case of
hybrid roaming like OWE, 1x,..
Change-Id: Ic8457a5630441d6fd3faeb4791c79422db787f94
CRs-Fixed: 3335225