Add check for INI and SR enabled flag before handling SR IE
change in beacon frame.
Change-Id: I4b43f47c89a1f12bcf6f85ac602179af634f2f54
CRs-Fixed: 3577077
Operating Channel Validation (OCV) should be disabled
by default for connections with Wi-Fi 7 APs in 11BE mode
as per WFA recommendation to avoid IOT issues. This RSN
cap is disabled but is not getting updated to the crypto
module. Add a fix to invoke the API that updates the OCV
cap to the crypto module.
Change-Id: I7ce8161a970a52692c4d6a693f8a02cb3ecb32eb
CRs-Fixed: 3575744
If STA (or ML STA link) + P2P CLI is SCC or MCC on 5 GHz, allow
second STA (or ML STA link) coming up on SBS channel or 2 GHz band.
Change-Id: If0b0b6787b1b6f3058a62c031d7f782ae9d23b4c
CRs-Fixed: 3577200
Once VDEV ops using DSC lock are completed, move the deflink
pointer in adapter to non-transitioning link so that all userspace
requests happen on the non-transitioning link while the other
link is in link switch operation.
Change-Id: Idfdd488e47e7d4ba013c9ed1e61def86ede8db90
CRs-Fixed: 3568098
Do not call flow pool map as during link switch disconnect
flow pool is not unmapped and this can lead to re-map and
allocates unnecessary memory.
In the peer MLO capabilities set the link switch bit to
notify FW, that peer create is due to link switch.
Change-Id: I1d24b33673157eb3a57dcac513434031b4e13a0e
CRs-Fixed: 3557837
Once link switch set MAC address response is received,
HDD is notified. Update the active bitmap in adapter and
move VDEV information from existing link to new link.
No need to call VDEV attach/detach as part of set MAC addr
due to link switch and also call DP callback to update
DP link mac address.
Save the new link info mapping on VDEV map address update,
use the mapping on dynamic MAC address update to restore to
proper link info, so that new connection will start correct
with VDEV-MAC address mapping.
Change-Id: I625c74d9cf42a4a78f23dcc419b4151717c203ae
CRs-Fixed: 3557829
For link switch disconnect do not send the deauth/disassoc frame
OTA and avoid flow pool unmap as to avoid flushing the memory
allocated for the packets sent OTA for which status is not yet
received.
Once the status is received DP flushes them via the
non-transitioning link.
Change-Id: If2ec024f19730f6ebebf0428f912bfa8dbbddea9
CRs-Fixed: 3557779
In hdd_change_peer_state() vdev_id is taken from deflink
of adapter so peer authorized event is not sent to FW
for the partner VDEV.
Change the argument of hdd_change_peer_state() to take
link info pointer instead of adapter to get the proper
VDEV to send the peer authorized event to FW.
Change-Id: Id5940dc12a39e7d2a8e7469be9a138eb40024cb5
CRs-Fixed: 3568364
When WMI_LINK_STATS_ALL_PEER event is received for MLO connection,
the stats are cached and sent to userspace via vendor command.
But in case of MLO+TDLS connection, host receives one
WMI_LINK_STATS_ALL_PEER event for all the MLO peers and one for the
TDLS peer. In such cases, host is caching the latest event only.
In the function wlan_hdd_send_mlo_ll_iface_stats, memory for
interface stats is allocated based on number of peers, which
is obtained from the caching peer stats. Instead of MLO peers, if
TDLS peer stats are cached, then it causes a memory corruption in
wlan_hdd_send_mlo_ll_iface_stats.
So, to avoid this issue, validate and cache MLO peer stats when
WMI_LINK_STATS_ALL_PEER is received.
Change-Id: Icd67ec96ed9994fc9a1c56fdb30a9f6eeb2e4d21
CRs-Fixed: 3577633
To identify number of VDEVs to create post mode change,
'num_links_on_create' field in adapter is initialized on
open adapter. However this field is not set to desired
value incase of 11be capability is not present.
This can lead to resetting active links bitmap in adapter
to zero. This bitmap is extensively used for numerous VDEV
related iteration/search operations including VDEV create.
In n-link changes, hdd_adapter_disable_all_links() API is
modified to restore bitmap of active links which might change
as part of link switch.
In stop adapter, this API is called without check for eht_cap
and resulting in zero active link bitmap.
Irrespective of 11be capability fill the 'num_links_on_create'
to approripate value so that further usage of this field will
not have undesirable results.
Change-Id: I6dddc8bb57b012dc480e05653db50f6cafb26ccf
CRs-Fixed: 3575089
Currently, driver fills the session->ml_partner_info based
on the ML partner info present in the received assoc response
frame. However, it is possible that the AP may send a
different ML partner info sequence in the assoc resp frame,
leading to incorrect info send during PEER_ASSOC_CMDID.
For instance, when establishing a 3-link connection, the STA
selects 6 GHz as the assoc link and 5 GHz + 2.4 GHz as partner links.
The STA expects the same partner sequence (5 GHz and 2.4 GHz)
in the assoc resp frame. However, the AP can send a different
sequence (2.4 GHz + 5 GHz).
To fix this issue, modifies the parsing of the ML partner info duing
assoc response frame. Instead of relying on the ML partner info
from the assoc response frame, updates the session->ml_partner_info
based on the partner sequence present in the the mlo_mgr context.
This ensure that the ML partner info sequence is correct and matches
the expected sequence during the association.
Change-Id: I93236afae4c7915fb2c9bd6ad209feae1312126f
CRs-Fixed: 3530714
Currently, wma_add_sta status is not considered while voting for
link up in case of NDI. But if wma_add_sta fails to add a peer,
this link vote leads to stale link vote up.
To fix this, consider the return status of wma_add_sta for
link vote up.
Change-Id: I71581f1caccf784567c7ba6f263b5d1658067aa9
CRs-Fixed: 3569182
STA is not able to connect to 11be non-WPA3 mode AP.
STA need to decide whether to connect in EHT or not at
the time of connection to AP based on security configuration.
Change-Id: I823decc17af21f80969c09742c6136d4215b87f6
CRs-Fixed: 3558758
If the connected monitor is configured and then legacy STA is trying to
associate to Access point, check is enforced to reject the connection
request if STA + Monitor concurrency is in place.
Legacy STA + monitor mode is not allowed, whereas Legacy STA +
connected monitor should be allowed.
Hence, Fix this issue by checking for STA + Monitor mode concurrency
only if local_packet_capture (Connected monitor) is not enabled.
Change-Id: Ia4fc74ab2ec91e6d66ebba23614268173da1e7bb
CRs-Fixed: 3574577
Populate policy_mgr_restrict_sap_on_unsafe_chan() to check whether need
check coex unsafe channel when SAP start on fixed channel, only
restriction_mask from user space configure set SAP bit requires to check
unsafe channel when SAP start on fixed channel. If ACS enable, SAP should
check unsafe channel unless above restriction_mask from user space
configure not set SAP bit.
This change is to change back behavior which changed by Change-Id
I4ccf887655066da6d6b50715f631dde6edfda598, and adjust Change-Id
Ie3947058d8854823a718b833ec788c5c8a14b903 after this change.
Change-Id: If8d26fa7cfdd4ffa44dd2009b4d6939f3d4c49b2
CRs-Fixed: 3525515
Currently driver sends the wext event on interface down. Kernel
internally generates the IFF UP event on receiving this wext
event and send to the userspace.
Userspace application takes the wrong decision based on this
spurious IFF UP event.
To avoid this issue, avoid sending the WEXT event to kernel
on IFF down.
Change-Id: I3ce0de50b3c41fe45d8d1a0d0ea47af73595cdda
CRs-Fixed: 3558158
In 3 Port concurrency, if standby link is MCC with existing legacy
interface then force inactive the link to avoid link switching
to it.
Change-Id: I3373715940eab949542528cce66d87a0646e1e5a
CRs-Fixed: 3572695
In case of STA kickout on SAP interface, host driver sends
deauth frame and initiates peer delete without waiting for
ACK or tx completion status of the deauth frame. In the
firmware, the deauth frame seems to get flushed, if peer
delete is being queued. To fix this, send peer delete only
if the deauth tx completion status is received.
Changes involved are:
1. To handle the sta deletion from the deauth tx complete path:
- Get the vdev id and peer address from the mgmt desc params
to initiate the deletion.
2. To handle the sta deletion from deauth tx completion timeout:
- Mark a flag in sta entry if STA kickout deauth is in progress.
- Add changes to get vdev id upon deauth ack timer expiry.
- Trigger deletion for all the STAs for which has STA kickout
is in progress, since the timer is not started per peer.
Therefore, upon the expiry of the deauth ack timer, initiate
all the STA deletion.
Change-Id: I44a802237723866b05a986ed760a065ac4697044
CRs-Fixed: 3556353
With force link inactive cmd rsp, FW will always send a current
active/inactive link bitmap. Host will select one link from current
inactive bitmap, and update the policy mgr table. But FW can
still switch the active/inactive between the links in force num bitmap.
When SAP coming up on same MAC and MCC with the dynamic inactive link,
host will send force inactive the link to FW. Then FW will not try
to active the link even in dynamic mode.
Change-Id: Ib4e438ca4c8e6945b3d7db42cd92d0393fcc1fc9
CRs-Fixed: 3564737
Notify OSIF/HDD on successful connection to ML-BSS with all
links information part of association.
In each link's corresponding link info struct in HDD adapter,
update basic information of that link which contain following:
a) IEEE link id.
b) Link BSSID.
c) Self link address.
c) Current VDEV ID for that link.
As VDEV is not present for the standby link, we will use
self MAC address to identify the initial placeholder of that
link info to update IEEE link ID and BSSID.
Reset the IEEE link ID on disconnect/start adapter so that
stale values are not matched during search.
Don't reset connection info's BSSID if it is due to link switch.
Change-Id: I291f87072a2064bcee092819fbfb00a3803b9376
CRs-Fixed: 3557623
Currently the FISA aggregation control flags, based on GRO
settings, are part of dp_vdev.
Move these FISA aggregation control flags to dp_intf,
since these controls are on an interface level, and not
on a per link level.
Change-Id: I93d0e215f8954376a96967cce6d533bd4be2d3a6
CRs-Fixed: 3574036
In 4 AP case: 2 AP on 2412, 1 AP on 5805. The 4th AP is starting
on 5180, but the current PCL PM_SCC_ON_5_5G_SCC_ON_24G contains 5180
and force SCC not happen.
Fix by change PCL to contain SCC channel only - PM_SCC_ON_5_SCC_ON_24.
Change-Id: I69923fa5b84c2178f0179fcc54d5f5aa6d77d016
CRs-Fixed: 3556240
Current wlan bazel implementation does not
support grep of source code.
Fix this by adding grep functionality.
Change-Id: I0649577424fbd095524d9c1083c3515c682723e2
CRs-Fixed: 3572350
For OEM data command, if there runtime suspend before the response
comes back, the response will not come to host and host will timeout.
To fix this issue, acquire the RTPM wakelock for OEM data command
till the response comes to host.
Change-Id: Ibb52d2b1e24e1e478cf4fb7c8c0d59438e0bbba8
CRs-Fixed: 3571769
Add support for new twt status
HOST_ADD_TWT_STATUS_LINK_SWITCH_IN_PROGRESS and
HOST_ADD_TWT_STATUS_UNSUPPORTED_MODE_MLMR in the twt
ack event
Change-Id: Ica3a66983ea25f2c797827baa16daa4fcddcd099
CRs-Fixed: 3570318
Addressed issue with STA MLO connections,
ensuring that link keys are not sent to the
firmware before completion of the link
vdev connection.
Change-Id: I3d6291cc00f3387cff1fc154f9c57373fd356fa3
CRs-Fixed: 3575097
Currently, host driver updates only assoc link channel to
firmware through roam_scan_chan list. Firmware may issue
an additional scan if it finds partner link channels in
the RNR info but not present in the roam scan channel list.
To avoid additional scan, send all link channels to the firmware.
Change-Id: Icfd9dac77f98a208b35d47060aab7cf2c5e4c885
CRs-Fixed: 3536183
Extract aux device capability and store it in wma/hdd/mlme.
current only 1 aux supported so only save info
for aux0.
Change-Id: Ib19bad6cf3c0bda5a31ea4993a2f7e587b2043e2
CRs-Fixed: 3549751
Support only D0 wow when direct link is up when XPAN feature
is up in WHC or P2P modes.
Change-Id: Ifbae57e4e1c8701950e7cecc095830a374603034
CRs-Fixed: 3559061
When FISA aggregated flow is flushed to n/w stack, there
is a vdev_id comparison between the flow and the head skb.
If this vdev_id check fails, the packets are dropped.
In case of MLO link switch during the FISA flow aggregation,
the packets might be received on different vdev (belonging to
the same MLD). Hence the vdev_id comparison will fail when
there is a MLO link switch in between the flow aggregation.
Since both the vdevs belong to the same MLD, add a MLD addr
validation to mitigate the above mentioned issue.
Change-Id: I0328dccff3f08da87f55758b469d773b9ea1169b
CRs-Fixed: 3568987
Based on requirement for pcie_config INI, convert corresponding
INI boolean variable to unsigned variable.
Change-Id: Ia0045c35a36bafe77e457b95f72fa1db86d2f0d3
CRs-Fixed: 3571497