Enable NS offload only when IPv6 address is added. No need to
call it when deleting IPv6 address and ifdown.
Change-Id: I5eb282d1deb1bc101871fa0952ac37796eb16db0
CRs-Fixed: 2747574
Print BTM BSS termination timeout value and BTM MBO assoc
retry timeout value coming from FW through
wmi_roam_trigger_reason_tlv_param tlv.
Print Blacklist reason, Source of adding AP to BL, timestamp
which indicates the time when AP added to blacklist and
Original timeout value in milliseconds when AP added to BL
coming from FW through wmi_roam_ap_info_tlv_param.
Change-Id: Iea5b8c136f83841d679b9ad06721bb0c9349b46a
CRs-Fixed: 2744250
Currently driver sets the NOL state of the channels to false
on every regulatory updated, which indicates the channel is
not in NOL. Which may lead to some issues where the channel
is actually in NOL but host treats it as non-NOL channel.
Ideally NOL list should be maintained throughout the driver
lifetime and across the regulatory changes.
To address this issue add a logic to not update the NOL state
of the channels whenever the regulatory update is received.
CRs-Fixed: 2744916
Change-Id: If96b22ab29a60a2aa752bbf01aaae46fc37362eb
Currently only STA and SAP support PMKSA cache, and return
EOPNOTSUPP for other modes.
Change-Id: Ic8969ffd58815c4f3e2e5e286521421c38eb7f56
CRs-Fixed: 2747485
vdev mlme chan info isn't updated after LFR3 roaming, so
wlan_hdd_cfg80211_get_channel get old center_freq1 from vdev mlme,
center_freq1 isn't same as center_freq for 20M channel,
cfg80211_chandef_valid return false.
Change-Id: I4037f80627d207bdf9ba60cd9c3b7be82bad81e8
CRs-Fixed: 2746246
Enable PM QoS support for 5.x kernel by adopting dev PM QoS APIs to
request device structures for CPUs and then requesting QoS on those CPU
devices.
Change-Id: I9c7565b44a72145e11178fe360f413ff578142cf
CRs-Fixed: 2734025
For 6ghz AP with open security,the STA join req was not going through
due to security check added from CR2715086.
Fix is to move the rmf enabled check inside lim_is_6g_allowed_sec().
Change-Id: I32fb0de34fdf05063dee5f28aac164b1dfcaea5e
CRs-Fixed: 2746745
Currently mac trace msg rx function is passing module
id as a second argument to mac trace function instead of
message id.
As mac trace expects message id as an argument, pass message
id to the mac trace function as message id.
CRs-Fixed: 2719737
Change-Id: I9fa1611d6095975241a01325b798c24ea654df3e
After SAP switches the channel, policy manager needs to check if
the host needs to change HW mode. SAP state machine updates channel
change event to hdd to indicate SAP channel switch. Hence move logic
to change HW mode from start bss success event to channel change
event case in sap event callback.
Problem scenario:
1. DUT is in Single MAC mode by default.
2. SAP is up on Channel-1. So SAP is on MAC-0.
3. Host sets Policy Mgr Hw mode = DBS.
4. STA comes up on Channel-36. As host is in DBS mode, STA came up
on MAC-1.
5. SAP does CSA to Channel-36 (STA’s channel). So SAP moves from
MAC-1 to MAC-0.
6. Host sets Policy Mgr HW mode = Single MAC (As both VDEVs are on
same band).
7. Now, SAP does CSA to Channel-11. As Policy Manager Hw mode is still
Single MAC, SAP is still on MAC-0. So now STA (Channel-36) & SAP
(Channel-1) are in MAC-0 doing MCC.
Fix:
After SAP switches channel, policy manager checks and changes HW mode
change in hdd sap event callback.
Change-Id: If7964057592d85a11dd77197c889a4ed77ed039a
CRs-Fixed: 2719810
After roaming, FW updates host by roam sync indication. Host parses
the reassoc request in roam sync indication to update RSN params of
vdev crypto.
Change-Id: I9638a77150e81ea911e95d294c58d605871630a0
CRs-Fixed: 2746470
The last parameter of stop_roaming_callback is currently an
unsigned int, which does not match the function that is assigned
to this pointer, which has enum wlan_cm_rso_control_requestor.
Update the function pointer to have the correct parameter.
Change-Id: I2761293e6d87e9fcf9586d198a6e60f25ca2b51e
CRs-fixed: 2745188
Currently idle timer does not gets de-initialize on tdls peer
reset because of which there could be a possibility that in
case of multiple tdls connection and disconnection with multiple
peers, this timer might get assigned and re-assigned to different
peers which may lead to an issue where this timer never gets
started for the required peer.
In current scenario whenever the first TDLS connection
(Peer a with sta_idx 0) happens, tdls peer idle timer object is
initialized with “&tdls_soc->tdls_conn_info[0];”.
Now if this peer a gets disconnected and peer b gets connected
and peer gets the same sta_idx 0, then peer will be associated
with timer “&tdls_soc->tdls_conn_info[0];”,hence 2 timer init
happens with the same sta_idx for peer a and peer b.
(here peer a is in disconnected state and peer b is in connected
state)
Now if peer a gets connected it will get the sta_idx 1, as timer
initialization is already done for peer a with sta index 0 so
timer initialization will not be done again.
Now if peer b gets disconnected it will set the tdls_info for
sta_idx 0 to invalid (INVALID_TDLS_PEER_INDEX).
Now for peer a timer will be started and when timer expires in
timer handler function “tdls_ct_idle_handler” will not be invoked
as sta_idx is already set to INVALID_TDLS_PEER_INDEX.
To address above issue, de-initialize the idle timer for tdls
peer on every tdls peer reset.
CRs-Fixed: 2746046
Change-Id: Icc2e64a9299852d5b29d26dec79b7f1efb2594b8
Add configuration feature CONFIG_WAPI_BIG_ENDIAN to
enable or disable BIG ENDIAN WAPI configuration based
on device type.
This was done as newer chipset firmware expects the
WAPI seq in big endian format and to maintain backward
compatibility with the older chipset firmware.
Change-Id: I972ca89e601b706e53408b0751c265d0aa311029
CRs-Fixed: 2746749
Send RSN caps value as in supplicant to firmware instead of
intersection value.
Change-Id: If300836a89329325d906c88dcf06835ad767aa85
CRs-Fixed: 2746357
For qca6750, register hif shutdown notifier to update the
firmware recovery state in case of SSR
Change-Id: Ie6d6e9c909df292c62f89612c08b583321703cfc
CRs-Fixed: 2688921
When rx data stall happens due to ring refill failure
check for refill debt count.
CRS-Fixed: 2740233
Change-Id: Ib88074f0e7ed9a64b522a64ff669af87626ce1da
Enable logging feature which helps to check rx ring refill failure.
Currently rx ring refill count is updated same time from multiple
places without protection, so use atomic variable for refill count.
CRS-Fixed: 2740225
Change-Id: Icd88d351cb15d0f18edf0b986e4de95dbe4e6989
Add connection manager changes to send roam scan offload init
deinit. Add new enum roam_offload_init_flags to fill the roam
init/deinit flags, 4-way handshake offload, bmiss skip full scan
flags at connection manager instead of getting the ini and filling
at target if.
Change-Id: I558e868efd341b508d3df76c8d6ab90eac512432
CRs-Fixed: 2745585
When dcs happened for three times in five minutes, then do
restart(start/stop) SAP operation, when SAP is started again,
dcs may happen again quickly, if total four times dcs happened
in five minutes, dcs_disable_timer will be started due to dcs
happened frequency control policy, it will disable wlan
interference detection for 30 minutes and dcs interference
detection won't work for 30 minutes, it's unreasonable. After
SAP restart, dcs happened times should be calculated from zero.
Fix is to reset im stats and freq ctrl params when stop ap.
Change-Id: I0322a268a031b677a4e263cd6c5c6c0627315719
CRs-Fixed: 2738099
Enable RX buffer pool support for QCA6750. This will be utilized
during low memory conditions.
Change-Id: I8cee1e0996c81f3c4c408a22923d5107f4d014c3
CRs-Fixed: 2731507
Current implementation uses wlan_reg_set_channel_params_for_freq API to
get operating channel information. But this API provides maximum possible
bw for an existing channel, which is not connected.From get_channel
callback, kernel expects information of the connected channel. This is
causing kernel to trigger disconnect STA after 1 minute.
To resolve this, update channel information from the object manger
which will contain connected channel information.
Change-Id: Ibd718003b4defc0e607b5b06abf86479913db538
CRs-Fixed: 2719246
Currently, the INI param wlanLoggingToConsole is used to enable
or disable WLAN logging to console. It will enable/disable console
logs for all log levels i.e. FATAL/ERROR/WARN/INFO. There is no
provision to enable/disable console logs for specific log level.
To address this, change wlanLoggingToConsole INI as bitmap with each
bit representing a log level. Enable/disable console logs based on
this bitmap.
Change-Id: I139ed15e37eb27fcfedcae70d78344e9f978f837
CRs-Fixed: 2734699
In current implementation, vdev create command is sent to the FW from
vdevmgr_mlme_ext_post_hdl_create. By design vdev create command should
be sent to the firmware from vdevmgr_mlme_ext_hdl_create.
To align with the design, send vdev create command from
vdevmgr_mlme_ext_hdl_create.
Change-Id: I42203ae5c4f75388e520e7fc3bd9114dd3236492
CRs-Fixed: 2714533
Enhance BLM infra to include source,
reason for blacklist, original timeout,
received time for better debug.
Change-Id: Ia705a967a08412824063275f5073c338dabde539
CRs-Fixed: 2744402