In case of connection with Hotspot 2.0 AP, Disassocition
Imminent frame needs to be forwarded to userspace, so that
user can take necessary action, like issue pop-up
notification etc.
Currently, in case of connection with Hotspot 2.0 AP,
FW/HOST does not forward disassocition imminent frame
to userspace. This causes user-space fail to issue
necessary notification(s).
Disable BTM offload in firmware if connect req has
HS2.0 IE, so that FW/HOST forward Disassocition Imminent
frame to to userspace.
Change-Id: Ica57fb7399ef21069d599a1046a7da6fbd42bb43
CRs-Fixed: 2733036
During CSA max bw is selected for SAP in STA + SAP concurrency
for non-dfs channel and SAP is tear down after 60 sec of operation
due to STA is in 20Mhz and SAP is in 40Mhz with
IEEE80211_HT_CAP_SUP_WIDTH_20_40 flag disabled.
This change is to select 20Mhz BW during CSA if channel bonding is
disabled.
Change-Id: If4ed3d9a080ed976a0f4be6704848ae4494c7bbc
CRs-Fixed: 3126074
Currently, TPCReport IE is populated for beacon2 but
is not populated for probe response. As per Table 9-34
TPC report should be present in probe response.
Fix is to populate TPC Report IE for probe response from
beacon2.
Change-Id: I1b384ef71ca99e0144374885cafcd864375a3b58
CRs-Fixed: 3128799
Currently, for gEnableNUDTracking=3 ini, if NUD failure
happens, host sends the ROAM_INVOKE_CMD to fw and start
the roam_invoke timer and after roam_timer timeout or
ROAM_INVOKE_FAIL host sends disconnect. Suppose in response,
fw sends ROAM_START and ROAM_ABORT before sending
ROAM_INVOKE_FAIL, then host stops roam_invoke timer
in ROAM_ABORT case. Due to this, in ROAM_INVOKE_FAIL host
doesn't find timer and returns failure without sending
disconnect.
Fix is, remove the roam_invoke timer stop in case of
ROAM_ABORT and add it in north and south bound disconnect.
Change-Id: I6b7790f1e59d137c1476a8ad80fc4f113e86e580
CRs-Fixed: 3132545
Currently when reo id mismatch check is done there is
possiblity of flow getting evicted same time this may
lead to false alarm. To avoid this race condition reo id
mismatch check is done under lock protection.
Change-Id: I7d3ac25ec8c806677697242a0fd3fa338c0a6ad2
CRs-Fixed: 3129761
Add numss_m1 and ru_bit_mask check before access the data in
ppet16_ppet8_ru3_ru0.
numss_m1 + 1 should not exceed WMI_HOST_MAX_NUM_SS.
ru count should not exceed 4.
Change-Id: Ide6b562dacb0592fb5c2101c0ce016570cb1dac3
CRs-Fixed: 3080599
The mainline change of change-id Idc70e8437f89cb1cf4f6d35f924085409994714a
fixes a double free issue introduced as part of
wma->target_if migration of WMI_ROAM_PMKID_REQUEST_EVENTID event handling.
But this is not applicable for legacy branches as the same migration
changes are not done.
So Reverting the double free
change in wma_roam_pmkid_request_event_handler.
Change-Id: I88d31a295398eb2ab700857260285450a8f245bd
CRs-Fixed: 3130848
Currently memory allocated for structure roam_pmkid_req_event
is freed in two places causing usage after free.
Fix is to free memory only once in
wma_roam_pmkid_request_event_handler.
Change-Id: Idc70e8437f89cb1cf4f6d35f924085409994714a
CRs-Fixed: 3064667
Add ini support to configure 6GHz active and passive
scan dwell time and send this to firmware
to be used for LFR scans via WMI_ROAM_SCAN_MODE.
Based on these values, firmware will use host sent values
else use hardcoded values.
Currently firmware uses hardcoded values to configure 6Ghz
roam scan dwell time. With this change user can configure
it using INI.
Change-Id: I90e79ad59eef7f73faa0b9dfd2d38b65aca12285
CRs-Fixed: 3116861
num_transmit_power_env of tDot11fProbeResponse should also update like
tDot11fBeacon2, otherwise default value is 0, and transmit power
envelope IE(195) will not pack into probe response template.
Fix it by updating num_transmit_power_env of tDot11fProbeResponse to
same as tDot11fBeacon2.
Change-Id: I865ba9d9ad96068c52d3d6434b113cb7662e95c6
CRs-Fixed: 2933031
This change optimizes the time to enable the TX queues during
connect/roaming by deferring the oem response to userspace and
roam_auth indication to wpa_supplicant.
Also, ignore tx power stats if the roaming is in progress.
Change-Id: I1724022de3b87482e4e4a35efac358de9f6a367d
CRs-Fixed: 3119070
Before host received beacon miss, firmware has checked link by sending
QoS NULL data, don't need host send probe request to check now.
Some IoT AP can send probe response after receive probe request, but can't
send beacon sometimes, need disconnect in time too, or firmware will
assert.
Change-Id: I74105769cfbd9f80cdde21bfa7b8c6d75efc4a3a
CRs-Fixed: 3102930
TWT initialisation will fail for each non 11ax connection
so an error log is not needed if peer object for TWT is not found.
Also, RIC data is not mandatory in FT session, so if its not
present, log a debug level print instead of error level.
Change-Id: I7fec9f88aa68b2ae947e34a1aede311e9fed2d05
CRs-Fixed: 3117535
Always enable ce debug history feature, but there
is difference for perf&debug build.
On perf build, only ce2/ce3 histroy is enabled.
And for ce debug history memory init/deinit happens
when driver is loading&unloading, even it use when start
module, this will help to check some cases when
stop_module happens.
Change-Id: I4b825f91bc9ede8372291f9d94cb7fae23942a49
CRs-Fixed: 3058735
If reassoc MAC from user space is broadcast MAC as:
"wpa_cli DRIVER FASTREASSOC ff:ff:ff:ff:ff:ff 0",
user space invoked roaming candidate selection will be based on firmware
score algorithm, current connection will be kept if current AP has highest
score. It is requirement from customer which can avoid ping-pong
roaming.
Change-Id: I8de3e2a26a6f346c900157aa823205f849d233f7
CRs-Fixed: 3106276
If firmware supports NAN discovery vdev then one vdev is
reserved for NAN. Do not reserve NAN discovery vdev in case
of FTM mode.
Change-Id: Ie16df46bbb09dd89889639d40dc1a65e3786ce73
CRs-Fixed: 2830136
Add ccp flag support for CONFIG_ENABLE_LOW_POWER_MODE in Kbuild.
Currently, this config is enabled for wearables only.
Change-Id: I2fb08930290f5c23641e1d76796ab829b31aae04
CRs-Fixed: 3110291
Deep Sleep or Hibernate are system level mode power
modes wearable targets in which wlan firmware is shutdown
gracefully and linux kernel and platform are suspended.
Currently, wlan suspend and pm_suspend is not allowed if
firmware is down, with this change suspend is allowed if firmware
is down due to Deep Sleep or Hibernate low power state.
Change-Id: Ide7b8957d1cfe455d57769c30f0bb3d6e564cddc
CRs-Fixed: 3108081
When fixed_param->num_radio is 0 from FW, host allocates
struct tSirLLStatsResults with 0 count of struct wifi_radio_stats
to wma_handle->link_stats_results.
When the second radio stats comes, the driver will
not allocate wma_handle->link_stats_results because
wma_handle->link_stats_results is not NULL.
Later driver will access the wma_handle->link_stats_results based
on radio_stats->radio_id. This will access invalid memory
because the original wma_handle->link_stats_results memory
didn't include the wifi_radio_stats.
Fix by free the link_stats_results if
wma_handle->link_stats_results->num_radio is 0, then driver
will allocate wma_handle->link_stats_results memory including
the struct wifi_radio_stats based on num_radio.
Change-Id: Ie1d6bbe8c668d2fb475fddb60907fd13a7f8de66
CRs-Fixed: 3082779
If ll_stats command does not receive response from fw continuously
for some time then there is no way to determine the actual reason
of this comamand failure if the logs are overwritten.
With this change, add bug_on and trigger recovery after 5
continuous command failures so that the current logs are captured
to analyse the issue.
Change-Id: I8f2f08d598c25ccea5ecd4b02c86e1069daeb6e0
CRs-Fixed: 3106087
For resetting NOA, "P2P_SET_NOA 0 0 0" command will be
used. Since duration and interval are same, currently the
set will be rejected.
Handle the count 0 case and bypass the existing validation
for periodic NOA.
Change-Id: I5294d7bcdd70d9280e50167c961d2e9c525fca4c
CRs-Fixed: 3054252
As part of code change we are removing the csum_enabled flag.
In that case, the call to set vdev params becomes redundant
since we are calling it to update the csum_enabled flag value,
So remove redundant code as part of the cleanup.
Change-Id: I41e5ffba0a375bc20146ece9dabca391016d5b67
CRs-Fixed: 3071428
Currently in the case of roaming between latency-critical connection
and non-latency critical connection we are scheduling work to
update features and after feature update we are enabling network queues
which is introducing a delay in enabling queues due to work schedule.
To Fix the issue enable network queue in the current context and schedule
work to update features.
Change-Id: Idba5b81a58aaf2bd47d80da1d17ad0acf9939071
CRs-Fixed: 3070688
Currently based on the INI option we are scheduling
work to dynamically disable/enable checksum offload and TSO.
But in the case of roaming from latency critical connection
to latency critical connection or non-latency critical connection
to non-latency critical connection, we do not need to schedule work.
So adding a condition to check :
For non-latency critical connection: If checksum offload and TSO are
not disabled then schedule work.
For latency critical: If checksum offload and TSO are
not enabled then schedule work.
Change-Id: I75a51707774c3428971dfe5cc0b0d3cdc2a17ac8
CRs-Fixed: 3054183
Customer reported their HLOS LTE-WLAN transition algo sometimes go wrong
for wrong low layer stats, Txretry delta is bigger than Txtotal delta.
Txretry unit is msdu while Txtotal unit is mpdu.
Add vdev/peer stats for mpdu number of successfully transmitted after
more than one retransmission attempt, to align mpdu tx_packets, tx_failed.
CRs-Fixed: 3102117
Change-Id: Id4b9d8fd81af4bf0c141dad481bfd2b3f6c1db2a