There are duplicate macros for the same purpose, hence
replace WLAN_ALL_SESSIONS_DIALOG_ID with TWT_ALL_SESSIONS_DIALOG_ID.
Change-Id: I63130869eed8dffcce85fe6a04586592ab3eaca2
CRs-Fixed: 3047686
During wma_pdev_hw_mode_transition_evt_handler()
get the freq range from mac_freq_mapping[] present in
wmi_pdev_hw_mode_transition_event_fixed_param and pass
till policy_mgr_hw_mode_transition_cb() and update
cur_mac_freq_range[MAX_MAC] from it. if no freq range
provided (legacy chipsets) then use
freq_range_caps[MODE_HW_MAX][MAX_MAC] to fill the
range depending on the new HW mode.
Change-Id: I145d48052ce37724b0f697c19a1041f5a908cb54
CRs-Fixed: 3044976
PMK stale entry will be updated in driver by framework after
disconnection with AP. Since there is no connected profile
in driver no MDID is associated. On new PMKSA addition in
driver it will check for cached entry based on MDID and
remove older one. This commit associates MDID to the cache
entry from the scan result if no connected profile is
present.
Change-Id: I9e8362387a53f622b9c52c4ba994939cabf244aa
CRs-Fixed: 3030376
If SAE/H2E required by hostapd configure, it must populate in
supported rate or extended support rate set, add host driver support
to check this flag and populate it in extended support rate set.
Change-Id: Id75b5743e93a1a0f1d13150d5436d256e2ca117c
CRs-Fixed: 3016492
ARP response dropped at OSIF due to non-availability
of sta entry with MLD address.
Added sta entry in OSIF/HDD context with MLD address.
Change-Id: Iff70197ca5707b88ea80b42a60a2b1fb383f00a9
CRs-Fixed: 3017249
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.
To avoid this, set the PS config per vdev.
Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
Whenever the host receives the SETROAMSCANFREQUENCIES command,
the host sets ROAMSCANCONTROL to 1 internally. This results
host ignore the ADDROAMSCANFREQUENCIES command if the specific
channel list is already configured.
As per new requirements, the host should not ignore any
ADDROAMSCANFREQUENCIES command which comes after
SETROAMSCANFREQUENCIES.
Change-Id: I9896ff21cdf97ebfcdcf5b198e981f5bd2f501c6
CRs-Fixed: 3022063
Remove ioctl cmd SETROAMSCANCHANNELS in the driver as this
is no longer required from Android S onwards.
Change-Id: I904b7a5407997b07c23a40f14d6c7328ec9de8ea
CRs-Fixed: 3021662
Add configuration support for broadcast TWT support and Rx control
frames to MultiBSS HE capabilities.
Change-Id: I2b3075a21c919c120e7a1ff674ac33fdd5d73801
CRs-Fixed: 2979513
In case if .set_power_mgmt command comes with ps disable,
then driver needs to teardown all existing twt sessions on
STA interface and if any TWT setup request command comes
after ps disable then also driver rejects the command.
Change-Id: Ib7c86fd257c52b9bac57124b744dc7a9e8405560
CRs-Fixed: 2997260
If there is single chain support then driver should disable
beamformer instead of enable
As part of fix, check the number of chains by intersecting the
firmware capability and ini config. If it is 1 then set
su_bformer, mu_bformer and num_soundingdim as 0
Change-Id: I84434c741cbf774f368657b2c57668f6e7b99991
CRs-Fixed: 3003257
Configure FW to prevent entering into power save during the
TWT suspend and resume when the STA role is testbed device.
Change-Id: If0d1d93076d60a3cd72e5c07f7e5b8519a039988
CRs-Fixed: 2995102
When TSPEC session is deleted, the access category of the data packets
should be downgraded to next lower AC. But this is not happening due to
acm mask is not getting updated when bss descriptor is NULL.
To fix this ssue, update acm mask from bss descriptor only when beacon
IEs are not present.
Also move qos related logic to LIM and bring missig changes which were
there before connection manager.
Change-Id: I9da80cf492b01762b4cc0a7b73271a0f5fe4b4a4
CRs-Fixed: 3011069
The RRM request may have different country code with DUT internal
regdb configure, use country code from beacon IE if it is present,
otherwise use internal country code to verify op class of neighbor
report channel list.
CRs-Fixed: 2997474
Change-Id: I35a62d9791f08d26dd8a892739612eb422805523
Currently driver sends rsn caps to fw via
WMI_VDEV_PARAM_RSN_CAPABILITY without validation of ap
capability to support ocv which may cause issue during csa.
when ocv cap is set in vdev param, then fw does sa query and
may not get any data if ap doesn't support ocv which may lead
to disconnection.
Fix is to set ocv capability in rsn based on ap capability to
avoid unwanted disconnection.
Change-Id: I90f9ccffb00878592179a3159adee0b3199555a3
CRs-Fixed: 3008137
Enable OBSS scan for open mode after connection and optimize the
logs in OBSS path.
Change-Id: I91eefc2fe368f5f92e7345aed87591a8b3fdd913
CRs-Fixed: 3006209
In OKC enabled cases, when multiple pmk entries exist, the user
space sends set_pmksa command for BSSID other than the connected
bssid. In that case driver updates the global pmksa cache with
the new PMK received for the non-connected BSSID. This results
in invalid pmk sent to firmware.
To avoid this, update the pmk cache only for connected BSSID.
Change-Id: I006595ea5b913d439007a8fb9d767454a71eeac1
CRs-Fixed: 2937182
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress
4. any other error
then the command needs to be rejected in userspace context
Synchronize the TWT commands so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
waits for this ack event, respective event with status of the
TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
reject the TWT command request in userspace context.
Change-Id: Ib68b89b74b5e44f28106884efd7412cee49f5bd8
CRs-Fixed: 2987978
csr has a mac address field which is redundant, the same can be
retrieved from the vdev object.
Hence remove the mac address field from the csr and update the same
from the vdev object.
Change-Id: I948cf858ddb26795e236aa4099186e5d10f504a6
CRs-Fixed: 2990480
During FT-EAP roaming after session timeout if the FTIE received
in the EAPOL of full EAP is improper, the supplicant would
disconnect the AP with the reason FTIE mismatch.
During this disconnection supplicant flushes all the existing PMK
cache entries and eventually the framework would add these cache
entries again (apparently, the current entry would be with the
older PMK). On this addition to the driver, there is no connected
profile and thus no MDID is associated to this PMKSA entry(AP1-PMK1).
Further, on the fresh (Full EAP) connection to the AP2 with the
same MDID, a new cache entry gets added and thus MDID from the
connected profile gets associated with the PMKSA cache entry. At
this point of time, there are two PMKSA cache entries (AP1-PMK1
without MDID and AP2-PMK2 with MDID).
Adding further, if the incorrect PMK (without MDID / stale entry)
i.e. PMK1 is given to the firmware on the RSO command for the
specific BSSID (here AP1) during roam, further roams shall be
calculated with this PMK1 and result in to the invalid pmkid
issue.
Thus, avoid this situation by removing that stale PMKSA entry in
the driver and this entry can be deleted only when it is associated
with the MDID. Driver on the new pmksa addition shall check for the
matching pmksa cache entry with the MDID and delete the earlier ones.
To associate the MDID, this commit checks for the same from the scan
entry of the BSSID, if there is no connected profile for the same
(this happened when the framework has added the cache entry when in
the disconnected state).
Change-Id: If81d66059173dda8d7a2940ca10dc96ef16e125c
CRs-Fixed: 2972115
Trigger SSR if pe session already exist for vdev, i.e vdev is
not in init state during connect req.
Also Add SSR if roam command timeout.
Change-Id: I83be76215f5c4daca2429a2528f825baabed92e3
CRs-Fixed: 2982362
With connection manager enabled, the send IE request is
not sent after connection.
Add support to send set IE request after connection is
successful in connection manger.
Change-Id: I2f30eb67ba295e0ca416ccb40e12a376e0d7a47e
CRs-Fixed: 2976734
CSR/SME use connect/disconnect API as these were common between
STA/SAP/NDI, but as connection manager removed the STA related code
from SME/CSR, rename the functions to represent NDI/SAP start/stop.
Change-Id: I7875e163f1976627e521308813ad3e1ed279a906
CRs-Fixed: 2981040
Add sanity check for RRM global channel list to avoid
possible NULL-Pointer issue.
Change-Id: Icfbf5282304a549a0dc92889f83cb1a31dde15b2
CRs-Fixed: 2972194
With below INI configuration, SAP is not following the STA
channel. It's forming STA + SAP MCC instead of Forced SCC.
1. gWlanMccToSccSwitchMode = 4
(QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNE)
2. gEnableSAPManadatoryChanList=1
When channel switch mode is
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNE and if STA
is on 5ghz and SAP also comes on 5ghz then driver considers
the HW mode as DBS capable and it allows SAP to form
MCC which is not favorable.
For non_DBS target, the fix is to allow SAP to
do force SCC if the channel switch mode is
MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNE.
Change-Id: I4b945dc1831909caff72f8398c959f4450765f2b
CRs-Fixed: 2972273
NDI delete may get issue while NDI creation is still in progress.
NDI session doesn't get cleaned up as it's done based on
CSR_IS_CONN_NDI(&session->connectedProfile), which is valid only
after the NDI is created i.e. START_BSS success.
So cleanup should happen based on an intermediate check,
i.e. if WLAN_SER_CMD_VDEV_START_BSS is still in queue.
This was there earlier but got removed as part connection mgr
cleanup as the station connection is moved to CM path.
Add a check on WLAN_SER_CMD_VDEV_START_BSS and cleanup NDI.
Change-Id: If692cf0e594cbdcb89cd1d8a0ad591b5bae3de49
CRs-Fixed: 2969276
The extended capabilities IE is sent during vdev create and
this doesn't have the merged extended capabilities from the
userspace. So some of the fields advertised in association
request are not advertised in the re-association request.
Fix the missing fields not set in the extended capabilities IE
by sending the set IE message to LIM after connection is
successful.
Change-Id: I322d057f602e0362f12b362e7818e84cbb056cf4
CRs-Fixed: 2971072
The following vendor cmd can be used to set the
sw retry threshold per vdev for all AC:
Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY
Non-Aggresive: QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY
Change-Id: I49d88ae1f3f6142d8a420fd92f6f40bf3aad03e6
CRs-Fixed: 2945913