When STA roams from multi link AP to single link AP, because MLO link
vdev is not disconnected yet, PCL is updated according to MLO station
connection and SLO station connection concurrency scenario.
After MLO link vdev is disconnected, PCL should be updated again
according to SLO station connection scenario.
Change-Id: I6a297c05a605fefe27c20a90d36e419819e6415d
CRs-Fixed: 3497055
Currently, packet capture packets are processed until the mon list
is empty. There can be situation that while mon list is not empty and
mon thread is running, mon interface is deleted and as part of it
PKT_CAPTURE_REGISTER_EVENT is cleared. After clearing the bit, interface
deletion will wait for completion of mon_register_event and flush the
remaining packets in mon list without processing them. In this case
as mon thread is already running and processing the packets from mon list
without check for PKT_CAPTURE_REGISTER_EVENT bit, it may lead to
timeout in deletion of mon interface in case of high throughput scenarios.
To avoid this situation, add a check to test PKT_CAPTURE_REGISTER_EVENT
each time before processing a packet from mon list.
Change-Id: I21e7adc0149c2330f6008d54db8576ca705f2b55
CRs-Fixed: 3475349
Tx power not set in case when user sets tx power as auto.
When user set tx power as auto now, host will configure
the tx power as max regulatory power allowed for
that channel. It signifies that it is the upper
limit for tx power used while transmission.
Change-Id: I98e53e417fa72c58ef8b22017a9a622ba8ccb257
CRs-Fixed: 3478243
1. While populating t2lm ie use dynamic memory allocation
instead of static and free after usage.
2. If AP rejects T2LM action req frame, sends status code
anything other than 0(success) or 134(preferred mapping),
clear ongoing negotiation.
Change-Id: I50fbf34f3e95bbeaf13c2e1a74374b22837dffa8
CRs-Fixed: 3496677
Currently, host driver disables eMLSR STA link when a SAP is
coming UP. Once the SAP is UP, host driver evaluates the current
concurrencies and re-enables the link if it can. This allows the
driver to bring UP disabled link(if any) as the SAP would do SCC
with one of the ML-STA links. But this is not applicable for
eMLSR STA. No other concurrency can co-exist with eMLSR STA
currently. So, one link has to be force-disabled always to let
the firmware not enter into eMLSR mode.
So, don't allow the validation of current concurrencies in
policy_mgr_handle_sap_cli_go_ml_sta_up_csa() eMLSR API
policy_mgr_handle_emlsr_sta_concurrency() takes care of
eMLSR concurrencies.
Change-Id: I78a15447a8ea5a3a98146d9c9b577095bb8496de
CRs-Fixed: 3492030
Currently the 11be capability is set to true from host if the
11be macro is enabled intersect the same with the ini configuration
and update the feature set accordingly.
Change-Id: Ifbd4207a5113fafe5e8ebb87c6b7fce6c2a29eff
CRs-Fixed: 3495617
Currently, as part of wlan_hdd_stop_modules, direct link config
is not being cleared but hif link state vote is cleared, as a
result when hdd_close_adpater() is called, link state is already
cleared, resulting in crash, as config is still enabled.
To fix this, clearing config as part of direct link context
de-initialization.
Change-Id: I1a5de6f427b5bc4dc4fe4346e53354645ad53529
CRs-Fixed: 3495027
Currently, on receiving scan events from FW, the host is
unable to populate the channel info buffer.
Populate 6 GHz channel info in hdd context from wiphy
as per NL80211_BAND_6GHZ band.
Change-Id: I726a43d0f2bbf6c8dfc405cfa917f8dfc8a8e0cd
CRs-Fixed: 3488036
Vendor command pre_doit holds wiphy lock inside kernel and calls
into driver vendor command handler and from driver vendor command handler
if unregister_netdevice() is called it will try to acquire same wiphy lock
inside kernel cfg80211_netdev_notifier_call() and deadlock.
To fix this issue from driver vendor command handler for pre CAC adapter
stop call cfg80211_unregister_netdevice to avoid recursive wiphy locking.
Change-Id: Id939016c1baf730707346f2375d0b952017a48f5
CRs-Fixed: 3493940
STA is on 5 GHz 5260, SAP on 6 GHz 6415, GO on 5 GHz 5745.
STA receives CSA event to move to 5540. Then 3 vdevs are
MCC in 5 GHz high band which is not supported by target.
And we should avoid SAP+GO on same band MCC.
Fix by:
1. Check allow concurrency for STA CSA for more than 2 connection
case.
2. change SAP PCL to only includes SCC 5 GHz channel and 2.4
GHz channel to avoid SAP choosing 5 GHz MCC channel if STA+GO is in
SBS mode.
Change-Id: Iadf8cfd215393baf4823c0e7cb6aa3656d8004dd
CRs-Fixed: 3482252
The four SAP concurrency pcl table is deleted by change:
I494e7a8d6ecc0a550027ff7f64de5deb11b987a9, it is still needed
for MDM platform, otherwise the 4th SAP will be rejected by
policy manager.
Add back original four SAP concurrency pcl rules.
Change-Id: Ib80c58f114f494a2c66fc15286b1a434d577dd26
CRs-Fixed: 3490580
As part of single netdev multi vdev changes, AP context is
now per link. To get the hostapd context pointer from AP context,
pass link_info pointer instead of adapter.
The existing callers are moved to deflink pointer.
Change-Id: I01ef675de40779b386b72a033e76806488bc36e7
CRs-Fixed: 3447737
As part of single netdev multi vdev changes, AP context
is now per link. To get the AP context for a particular
link, pass the link_info pointer instead of adapter.
Change-Id: I0ffbafdf5c73c47d8ba335706d4065d55b7e45cb
CRs-Fixed: 3447599
The existing code do not check CONNECT_REQ_MLO_SUPPORT flag and
driver connects in MLO with ML capable APs. This leads to auth
timeout incase of SAE as the MAC address in auth frames are
different.
Userspace connect request params will enable CONNECT_REQ_MLO_SUPPORT
flag to indicate driver can connect to ML candidate for that connect
request, incase this flag is not set in the connect request the driver
shall downgrade to non-ML connection.
Change-Id: I1452c0b61d86d23103ccd84c142e99f79d2077f7
CRs-Fixed: 3477110
Scan module already print the info of the beacon/probe response
Remove the repetitive logs from LIM which are not useful.
Change-Id: I609f229a7242c5d58081d44f2d9c1447e089c648
CRs-Fixed: 3490645
Currently when driver receives SET_TX_ANT_CONFIG command, it
doesn't check if tx/rx nss values are allowed for the
existing connection and sends chain mask configuration
command to fw.
To address this issue, reject SET_TX_ANT_CONFIG command,
if given tx/rx nss value is greater than connection's
intersected nss.
Change-Id: I58078d8dd6c9e04ccedad26b79a7dc3a040e9ef6
CRs-Fixed: 3476639
When the Intra band INI is enabled and the STA connected in 6 GHz
band the channel count and frequency are not sent in the
WMI_ROAM_CHAN_LIST command as the band is not defined or unknown.
As a result of this DUT is unable to trigger partial roam scan in
the current connected 6 GHz channel and does a full roam scan.
Add the 6 GHz band check in the Intra band enabled case.
Change-Id: I765c233d1e6bf71cab186041ebd7df2293be6f05
CRs-Fixed: 3469197
Currently as IPA_OFFLOAD path is enabled for OPT_WIFI_DP
usecase, this causes SAP/GO D3 WOW to be disabled.
This change will add a check to ensure D3 WOW is
enabled when IPA path is set for OPT_WIFI_DP usecase.
Change-Id: Ibec94ca172646c80fa9ec7e6ff24e6e5f6fcad60
CRs-Fixed: 3472752
As part of single netdev multi vdev changes, station context
is now per link. To get the station context for a particular
link, pass the link_info pointer instead of adapter.
Change-Id: I786e41c82f349f118d6e45782ff206226cb09901
CRs-Fixed: 3447529
Host parse newely added vendor command
QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS and trigger
scan to get connected channel stats from FW in case of MLO
connection.
On scan done host sends scan done indication to upper layer
via QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS vendor
command.
Change-Id: Iff09b6dfe88b5f075a4c81d8f0bfff5bbb0fedaa
CRs-Fixed: 3491058
When DFS CAC is going on for SAP, if 5 GHz mac is occupied by the
SAP and it's not available for 5 GHz NAN discovery. Enabling NAN
on 5 GHz in such cases cause inconsistency in firmware state machine
and firmware may assert as DFS MAC is not supposed to be disturbed
while CAC is going on.
So, check if NAN enable request has 5 GHz NAN channel also and reject
the request. Allow NAN enable command if it's 2 GHz only NAN enable
request, while CAC is going on.
Change-Id: If3f2b2b40cc2b70bc7a872970bc088204440d519
CRs-Fixed: 3458462
Currently the link addresses of link adapters are static and
are allocated during adapter create.
To randomize the MAC address as part of connection Android
framework sends new MAC address, which will be set as MLD address
incase of ML interface, but the link addresses are not changed.
Use the MAC address from Android framework and generate new
link addresses from that for each link. Manage interface
change logic and redundant code.
Change-Id: I40c86cfd05b304c48ab048ea793cc34fb4d250f9
CRs-Fixed: 3485639
A new logic to derive link address from MLD address to
randomize link MAC address on each connection.
Change-Id: I75ba80da6c9cb97103ed84ef2b9c6d091dd5d90e
CRs-Fixed: 3486110
WLAN driver working on AP0+AP1 mode. After a ref STA move
connection from AP0(vdev0) to AP1(vdev1). vdev0 have release
peer STA. But it can get a peer state from ol_txrx_get_peer_state.
Actually, the state is from vdev1, not vdev0. If vdev0 have data
send to FW, it will cause FW crash.
Change-Id: I7978b758e98a16993d16d53a55d67734aa896979
CRs-Fixed: 3477987
In Kbuild the macro WLAN_PRE_CAC_INC is defined twice, with the second
definition overriding the first one. Since the second definition
incorporates the logic from the first definition, the first definition
is pointless, so remove it.
Change-Id: I7e679109b6c08d226236c42c20e18e50537036e9
CRs-Fixed: 3490072
Currently WMI_VDEV_PARAM_HEOPS_0_31 is sent after VDEV_START
response received from FW. But FW side, they do not configure
hardware register with sent BSS color as VDEV_UP command is not
sent yet. FW needs to know for which BSSID hardware register,
this BSS color should be configured. Hence send SET_VDEV_PARAM
command with param-id WMI_VDEV_PARAM_HEOPS_0_31 after VDEV_UP
as well.
Change-Id: I7cc4648381464f1c35edee36caabf718ff8eafe3
CRs-Fixed: 3461304
There is a race condition where profile for direct link is set but
hif link was not yet voted up to prevent suspend. Parallelly,
direct link config is cleared in different context causing hif link
to vote down without being voted up which resulted in crash.
To fix this, create a mutex lock and move all the config set
operations inside the lock.
Change-Id: I80924d9ed52a9889a178b98469be15af0454b022
CRs-Fixed: 3490442
In case of MLO connection, firmware sends each vdev's status
information via vdev extended stats event. Add support in driver,
to extract that information.
Change-Id: Ia7a0a92baf008e6549830672b68e58be5a8202df
CRs-Fixed: 3483731
TDLS code is converged and the CONFIG_CONVERTED_TDLS_ENABLE
flag is no longer used.
Change-Id: I33c6c950afb829cad566a6587121de157901c959
CRs-Fixed: 3488525
Introduce a new API which returns the pointer of link info
in adapter. The API returns NULL in case of invalid array
index.
Change-Id: I2e9d85775cd2366c99682825de5cd66612148cc9
CRs-Fixed: 3447331