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
Allow idle shutdown in case it is triggered due to driver mode change
even if any of interface is up.
Change-Id: I29db749d40729a7e7633836bd23083f7652ac845
CRs-Fixed: 3106971
Currently for 6GHz, nan is allowed on LPI channels as well,
nan should be allowed only on VLP channels.
With this change allow nan only on VLP channels.
CRs-Fixed: 3072585
Change-Id: Ic8cd8a5ca5c096530762cc0f9d199cef30155838
When STA+SAP concurrency, sta roaming pcl will remove all channels of SAP
band except scc channel to avoid mcc.
When SAP stopped, STA roaming pcl isn't updated for wrong vdev id is used,
so can't roam to all channels of old SAP band except scc channel to avoid
mcc.
Change-Id: I35adb55ac155e4c84f858f16796dbec12589ab2f
CRs-Fixed: 3102601
When host resume, check arp offload status wrongly, so arp offload
disable cmd isn't sent to F/W. when next suspend comes, arp offload
enable cmd isn't sent too.
Change-Id: I06ea617df49287ee87e7b5bf8b20971b581dedf1
CRs-Fixed: 3106172
Currently firmware is crashing due to levelconf structure received NULL
from host.
Hence initialize num_thermal_conf param to fill levelconf structure part of
WMI_THERM_THROT_SET_CONF_CMDID.
Change-Id: Ifcfb49253222fff6656327d9be3977a707c18af4
CRs-Fixed: 3064400
This reverts commit I7704a3b9b3e8ad187677705e1b11fbd82be73cfb.
This change cause CXPC failure, as each ll_status will cause
runtime pm resume.
Change-Id: I3547181fb8cfee1e5e40992dfaf5547eaac29a2a
CRs-Fixed: 3110499
Currently when ll_stats or get station request comes and while fw
sends the response of the request, it is possible that driver can go into
runtime suspend state while fw still wants to send few more stats
events. Because of this ll_stats request or station stats request gets
time out in host.
To address above issue, add logic to prevent runtime suspend when
ll_stats or station stats request is received in host driver.
Change-Id: I7704a3b9b3e8ad187677705e1b11fbd82be73cfb
CRs-FixeD: 3096165
Initialize sap bw as MAX BW in
policy_mgr_valid_sap_conc_channel_check() as
wlansap_get_csa_chanwidth_from_phymode() take care
of selecting BW for sap and it has a check that will
take minimum of selected BW and initialized BW.
If this BW is not initialized with Max BW then in cases
where original BW is 0 (20 Mhz) (cases such as channel
switch happens from 2.4Ghz to 5Ghz), the above mentioned
check will result in selected BW being 0 (20 Mhz) for
non-DBS HW.
Change-Id: I29febf09036ffa0163df58ce51b399abe2a43fe2
CRs-Fixed: 3101285
Return success when firmware doesn't support 11k offload, or else
subsequent roaming related wmi commands have no chance to issue.
Change-Id: I69d55cca63f2b7ab4787295a2825159395cf2a11
CRs-Fixed: 2976163
LL stats request is not supported for SAP mode. But driver is not checking
for device mode for LL stats request. Instead it is depending on LL stats
request set flag which won't be set for SAP mode. In case of mode switch
from STA to SAP, it is possible that LL stats request set flag will be set
for STA mode and LL stats are requested after switching to SAP mode. This
will bypass the mode SAP.
To avoid this, reject LL stats request for SAP mode.
Change-Id: I8c680288991126f0b349584f502b22e18af72287
CRs-Fixed: 3081453
In the process of sar req-resp event the timer callback will wait
for the userspace response due to which time scheduler thread is paused
and can't process any other message. Because of this there is delay and
some command may fail.
To address above issue, move the process of sar req-resp
event to work context as we are waiting in the timer handler.
Change-Id: Idadd99ff28dcb6f5ec2d925cb381f223124300e6
CRs-fixed: 3091293
Ignore idle_shutdown if any interface is up. This is done
to handle special scenario in which platform driver triggers
idle shutdown when it receives Deep sleep/Hibernate entry
notification from modem subsystem in wearable devices.
Change-Id: I0f2a3bd4cbf0d7c0d3577dfbd15c7b3001d827d1
CRs-Fixed: 3091085
Deep Sleep or Hibernate are system level mode power
modes in which wlan firmware is shutdown gracefully
and linux kernel is suspended. Currently, 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.
A new pld api is introduced to know the low power
state from platform driver, this api is enabled based
on CONFIG_ENABLE_LOW_POWER_MODE flag. Currently, this
feature is enabled only for wearable targets.
Change-Id: Iddaa4da8ee4880a4223420f59cbe9c365c30344a
CRs-Fixed: 3090481
Host send HTT_H2T_MSG_TYPE_WDI_IPA_CFG cmd to fw, need update
high 32bit addr for non-smmu platform which alloc physical
address more than 4G, like addr 0x1 5000 0000.It will cut
off bit32~bit63, fw get memory is 0x5000 0000, it's maybe
use for peripheral memory.when fw write addr 0x5000 0000,
it will meet some error.
32bit platform compile error,for right shift must less
than system width.
Change-Id: If1e84cfdcd15494be3f7327986ff0e91ec7b2b3f
CRs-Fixed: 3097240
Host send HTT_H2T_MSG_TYPE_WDI_IPA_CFG cmd to fw, need update
high 32bit addr for non-smmu platform which alloc physical
address more than 4G, like addr 0x1 5000 0000.It will cut
off bit32~bit63, fw get memory is 0x5000 0000, it's maybe
use for peripheral memory.when fw write addr 0x5000 0000,
it will meet some error.
Change-Id: Ic5c5c00c85bdf08e61c9ff0f539989d2e96bb153
CRs-Fixed: 3077016