Update Reconfiguration Multi-Link element definitions as per
IEEE802.11be D3.0. The main changes are:
- Add definition for max value of Common Info Length subfield of
Common Info field
- Definition of max value of STA Info Length in STA Info field of
Per-STA Profile subelement was already present (but unused) - update
this definition.
- Rename some of the subfields in STA Control field of Per-STA Profile
subelement
- Add encoding for the Operation Update Type subfield in STA Control
field of Per-STA Profile subelement
- Add definitions for Operation Parameters in STA info in Per-STA
Profile subelement
CRs-Fixed: 3471701
Change-Id: Ifbabc88722aa3a0a32d7580a6b54acf0feff6061
When STA roams from SLO to SLO, only vdev 0 should be set as connected
link, while vdev 1 should not be set as connected link.
Currently vdev 1 is set as connected link incorrectly because its link
id is 0 which is the same with the link id from roam sync event.
link id is not a unique parameter. All are 0 by default.
vdev id should be used because it is a unique parameter.
Change-Id: I097b6f672c4656bfa2892f102e50998065463516
CRs-Fixed: 3497124
When the dfs_puncture feature is enabled and if the punctured subchannels
are not part of the current channel, dfs_punc_sm_stop() is invoked
from dfs_handle_dfs_puncture_unpuncture() API.
dfs_punc_sm_stop() does a hrtimer_cancel of dfs_punc_cac_timer though
hrtimer_init of dfs_punc_cac_timer is not done.
This causes kernel panic.
hrtimer_init() is done only when punctured channels are a subset of the
current channel.
Do a hrtimer_init() during dfs_attach to avoid the crash.
Change-Id: Ib9214ffe0b9605850885ca09c8d638dccecc7f00
CRs-Fixed: 3491078
Change ATF north bound function pointer name from atf_set to more
appropriate atf_send_peer_list.
Change-Id: Icd62a39548c58b47aa3f1de9db92dee100be3416
CRs-Fixed: 3490457
Add qualifier flags in link preference structure which represent
bit is set for TLT or preferred link
Change-Id: I85a5fee0a804f6803fa52b5052bbcf635a613025
CRs-Fixed: 3482281
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.
Change-Id: I5dad3fef7ebfa2af330b95d45cac3bef862f46f0
CRs-Fixed: 3491364
For MBSSID case, ML IE does not contain full per-STA profile info
in MBSSID IE. When generating the beacon and probe response frame
for MBSSID case, it needs to copy the ML IE info from main frame.
Change-Id: Id369d08772f11a5f0f838351b5b76ecce3762c55
CRs-Fixed: 3479932
1. Update (or) Add the following country mapping to regdomain for 6 GHz.
i) Update 6 GHz_MKK1_VLP power to 1dBm/MHz (PSD) and 14dBm (Total)
ii) Update 6 GHz RD Defs "6g_APL5_VLP" to support only 5925-6425 (UNII-5)
band.
iii) Create 6g_APL5_CLIENT_LPI_DEFAULT (Hex code : 0x31) and 6g_APL5_AP_LPI
(Hex code : 0x32).
iv) Create Full 6 GHz reg domain Hex code 0x13 and mapped to CHILE.
v) Map full 6 GHz reg domain HEX CODE 03 to UNITED KINGDOM territory
countries: FALKLAND_ISLANDS, GIBRALTAR, GUERNSEY, ISLE_OF_MAN, JERSEY,
MONTSERRAT, VIRGIN_ISLANDS_BRITISH.
vi) Map full 6 GHz reg domain Hex code 02 to countries: GEORGIA, HOLY_SEE,
ITALY, TURKEY, GREECE, LATVIA, LUXEMBOURG, POLAND, SAN MARINO, SLOVAKIA,
SLOVENIA, SRI_LANKA.
vii) Create 6g_FCC3_VLP (Hex code : 0x06).
viii) Create Full 6 GHz reg domain Hex code 0x14 and mapped to
DOMINICAN_REPUBLIC.
ix) Update 6 GHz subdomain name from "6g_FCC2_SP" to "6g_FCC2_AP_SP"
x) Create 6g_FCC2_CLIENT_SP (Hex code : 0x07) and add to full 6 GHz
regdomain hex code 0x10.
xi) Map Full 6 GHz Reg domain Hex code 01 to GRENADA
2. Add or update the following regulatory database (2.4/5 GHz) for all.
i) Create new 5 GHz regdomain FCC20 (Hex 0x0B75) and Full 2 & 5 GHz
regdomain FCC20_FCCA (0xEF).
ii) Update CHILE from FCC13_WORLD to FCC20_FCCA
iii) Remove indoor flag from ETSI13 UNII-1.
iv) Remove indoor flag from ETSI18 UNII-1.
v) Create new 5 GHz Regdomain ETSI20 (Hex 0x0E46) and full 2 & 5 GHz
regdomain ETSI20_WORLD (0x7C).
vi) Update APL14 CTL map to CHINA CTL.
vii) Update APL9 CTL map to KOREA CTL.
viii) Create new 5 GHz regdomain APL29 (Hex 0x1234) and Full 2 & 5 GHz
regdomain APL29_ETSIC (0x77).
ix) Update GUATEMALA from APL19_ETSIC to APL29_ETSIC.
3. Update or Add the following regulatory database(2.4/5 GHz) only for WIN
i) Map from ETSI13_WORLD to ETSI20_WORLD to countries: BOTSWANA, BURUNDI,
CONGO_DEMOCRATIC_REPUBLIC, KENYA, LAO_PEOPLES_DEMOCRATIC_REPUBLIC,
RWANDA, SAUDI_ARABIA, SOUTH_AFRICA, UAE, ZAMBIA.
ii) Map CHINA from APL14_WORLD to APL14_CHNA.
iii) Map KOREA_ROC from APL9_MKKC to APL9_KRRA
4. Update or Add the following regulatory database(2.4/5 GHz) only for
Linux Android
i) Map from ETSI13_WORLD to ETSI18_WORLD to the following countries:
FALKLAND_ISLANDS, GUERNSEY, ISLE_OF_MAN, JERSEY, MONTSERRAT,
SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, VIRGIN_ISLANDS_BRITISH.
ii) Map GIBRALTAR county from ETSI1_WORLD to ETSI18_WORLD.
iii) Map from ETSI13_WORLD to ETSI20_WORLD to the following countries:
ALBANIA, BOSNIA_AND_HERZEGOWINA, BOTSWANA, BURUNDI,
CONGO_DEMOCRATIC_REPUBLIC, KENYA, LAO_PEOPLES_DEMOCRATIC_REPUBLIC,
MACEDONIA, MAURITIUS, MOLDOVA, -MONACO-, MONTENEGRO, RWANDA, SAUDI_ARABIA,
SERBIA, SOUTH_AFRICA, TURKEY, UAE, ZAMBIA.
iv) Map CHINA from APL14_WORLD to APL14_CHNA.
v) Map KOREA_ROC from APL9_MKKC to APL9_KRRA.
5. Update or Add the following regulatory database(2.4/5 GHz) only for DSRC
i) Map ETSI20_WORLD to the following countries: ALBANIA,
BOSNIA_AND_HERZEGOWINA, BOTSWANA, BURUNDI, CONGO_DEMOCRACTIC_REPUBLIC,
KENYA, LAO_PEOPLES_DEMOCRATIC_REPUBLIC, MACEDONIA, MAURITIUS, MOLDOVA,
RWANDA, SAUDI ARABIA, SERBIA, SOUTH_AFRICA, TURKEY, UAE, ZAMBIA.
ii) Map CHINA from APL14_WORLD to APL14_CHNA.
iii) Map KOREA ROC from APL9_MKKC to APL9_KRRA.
6. Update or Add the following regulatory database(2.4/5 GHz) only for Auto
i) Create new 5 GHz Regdomain MKK18 (Hex 0x1660) and Full 2 & 5 GHz
regdomain MKK18_MKKC (0xEE).
ii) Update Japan from MKK17_MKKC to MKK18_MKKC.
iii) Create new 5 GHz Regdomain FCC21 (Hex 0x0B76) and Full 2 & 5 GHz
regdomain FCC21_ETSIC (0xD2).
iv) Update BRAZIL from FCC18_ETSIC to FCC21_ETSIC.
v) Create new 5 GHz Regdomain ETSI21 (Hex 0x0E47) and Full 2 & 5 GHz
regdomain ETSI21_WORLD (0x7D).
vi) Map ETSI21_WORLD to the following countries: ALAND_ISLANDS, ANDORRA,
AUSTRIA, BELGIUM, BULGARIA, CROATIA, CYPRUS, CZECH, DENMARK,
ESTONIA, FALKLAND_ISLANDS, FAROE_ISLANDS, FINLAND, FRANCE, FRENCH_GUIANA,
FRENCH_POLYNESIA, FRENCH, SOUTHERN_TERRITORIES, GERMANY, GREECE, GUERNSEY,
HOLY_SEE, HUNGARY, ICELAND, IRELAND, ISLE_OF_MAN, ITALY, JERSEY, LATVIA,
LIECHTENSTEIN, LITHUANIA, LUXEMBOURG, MALTA, MARTINIQUE, MAYOTTE,
MONTSERRAT, NETHERLANDS, NETHERLANDS-ANTILLES, NEW_CALEDONIA, NORWAY,
POLAND, PORTUGAL, REUNION, ROMANIA,
SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA, SAINT_PIERRE_AND_MIQUELON,
SAN_MARINO, SINT_MAARTEN, SLOVAKIA, SLOVENIA, SPAIN,
SVALBARD_AND_JAN_MAYEN, SWEDEN, SWITZERLAND, UNITED_KINGDOM,
VIRGIN_ISLANDS_BRITISH.
vii) Map from ETSI13_WORLD to ETSI20_WORLD to the following countries:
ALBANIA, BOSNIA_AND_HERZEGOWINA, BOTSWANA, BURUNDI,
CONGO_DEMOCRACTIC_REPUBLIC, KENYA, LAO_PEOPLES_DEMOCRATIC_REPUBLIC,
MACEDONIA, MAURITIUS, MOLDOVA, -MONACO-, MONTENEGRO, RWANDA, SAUDI_ARABIA,
SERBIA, SOUTH_AFRICA, TURKEY, UAE, ZAMBIA.
viii) Map CHINA from APL14_WORLD to APL14_CHNA.
ix) Map KOREA_ROC from APL9_MKKC to APL9_KRRA.
Change-Id: I77c4da2f48005619b888281c034e49f28bb584e4
CRs-Fixed: 3421200
Management Rx event parameters structure is are accessed for debug
logging, after the frame is queued in the egress/ingress list. The queued
frame might get dropped in the mean time and this may lead to the
freeing of the management Rx event parameters structure. Fix the issue
by splitting the logging into two parts. Required fields of management Rx
event parameter structure are logged before updating the ingress/egress
list.
Change-Id: If7847fa3a7aca1298216aef91f089aa77d94e6a9
CRs-Fixed: 3489094
"prev_bssid" can be AP mld address if current connection
is mlo connection. Allow roam if "prev_bssid" is AP mld
address.
Change-Id: Iebc71acae11fcbfb4fc98ec2199d546d71ef057c
CRs-Fixed: 3489879
Do not use API to do variable initialization job.
Otherwise there is built error in some platform.
Change-Id: I489057a2753bf7bf091e87b902efa833ea90ece9
CRs-Fixed: 3471557
Add support to trigger UMAC reset with mode1 teardown request
for mode1 target recovery SSR.
Change-Id: Ib2d1679162a2084488081c76f6753287a6e4d5c4
CRs-Fixed: 3458369
This change processes Duplicate Assoc req from MLO Station
This would reuse old link peers and populate assoc req IEs.
This will fail, if Assoc link is not same as previous,
and number of links are not same as previous assoc req
processing.
Change-Id: I6a8c412b0bc484e8eb64ca794e54e080c391f7f8
CRs-Fixed: 3465223
In case of MLO, to avoid race between ongoing connect and a new
disconnect, add fix to validate disconnect req for MLO STA
Change-Id: I4b27a06103ffce637738b1894c3bdcf46533043c
CRs-Fixed: 3493915
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: I92dbd779c5fbdb1652a37cfa54c177bd13de4f28
CRs-Fixed: 3491060
Changes done to move stub functions present in source file under
WLAN_MGMT_RX_REO_DEBUG_SUPPORT flag to header file.
Change-Id: I34297a48b67fb3200fed7e5e4b842647125d4fb0
CRs-Fixed: 3481641
Add an API to iterate through all vdevs and check if any vdev is
in CAC in-progress state.
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: Idcd92e29d4b6078332d439efb75eba6800e986bb
CRs-Fixed: 3492054
Allow modification of ML Reconfig AP remove delete timer at non-AP MLD
even if the AP removal is already in progress. The standard does not
currently provide for modification of the delete timer countdown at AP
MLD. However, if the AP MLD does carry out such a modification in
scenarios such as those given below, the non-AP MLD would be out of
sync with the AP MLD. Hence, we allow this modification.
Scenarios:
- At our AP MLD, if non-Tx VAP removal is ongoing, and subsequently
removal of its Tx VAP is requested with Delete Timer smaller than that
of non-Tx VAP, then non-Tx VAP's Delete Timer gets overridden with
that of the Tx VAP (this is due to an existing standards limitation
which doesn't allow change of Tx VAP role).
- There could sometimes be an issue with AP MLD due to which it might
incorrectly prolong the countdown by some margin in situations such as
an intervening CSA operation, etc.
- Some future 802.11be draft change may (or may not) allow
modification of the delete timer. (We may not guarantee
interoperability between an AP MLD implementing a future draft and a
non-AP MLD implementing the current draft, but the current
implementation change contributes towards best-effort
interoperability).
Change-Id: I6abc7565a5822bb7206c873716f1e3fc6a04416e
CRs-Fixed: 3466313
Optimize beacon/probe rsp logs, by printing the params when
their values are non 0. Thus reducing the logs size.
Also add the frame length in the logs.
Change-Id: I6cad77b6cdc4576804cdabd9f53235029e6cebd7
CRs-Fixed: 3490632
scan db has intersected phymode. For BSS information via iwlist we need
non intersected phymode.
Change-Id: I62a4aea33a67ac12b5be5bcdd4a3fc4538056df9
CRs-Fixed: 3454700
This is to fix serialization pending command timeout during vdev stop.
For case that two vdev is up state, i.e. vdev 1 is going to stop state.
There is an active command is running, then all commands in serialization
pending or active list for vdev 1 are canceled, so this last active vdev 1
command can't callback to dequeue itself from pdev active queue, and it
also doesn't do operation to move pending command to active queue.
So now if there are still other commands which are for vdev id 2 in pdev
pending queue, no one will schedule this pending command to active list,
until any pending command is timed out.
Add change to move pdev ser pending command to active list if all active
vdev non scan commands are canceled.
Change-Id: Ie47c9aa8153078266307a7d0b6c4585e2af9ed50
CRs-Fixed: 3474552
In the enum wlan_cm_connect_fail_reason, the value of
member CM_NO_CANDIDATE_FOUND is modified to 1 in order
for value of members of the enum will begin from 1.
Change-Id: I3f4686b32cec92b45e03b30b4293b4571a3f01fe
CRs-Fixed: 3486473
Set flags in WMI peer assoc to inform FW if node is
1. QCN Supported
2. Operating in Multi-AP mode
If node is 3rd party and operating in Multi-AP mode,
FW and uCode will change crypto register for each Rx/Tx from/to such nodes
Change-Id: If4cf9ec39fa11a90733df45fffa473a672643f8e
CRs-Fixed: 3488865
Low throughput is seen with interop clients when
set key is issued before wmi_peer_assoc command,
hence avoide key install before wmi_peer_assoc.
We are check here to verify the key install success
or failure.
Change-Id: I553a5ed01165354afc19885b4f62c13632908808
CRs-Fixed: 3274020
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.
Change-Id: Icbe109abecdd73ceedee8ecec45ae82cd47464e0
CRs-Fixed: 3470599
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.
Hence remove this cfg item and the related APIs.
Change-Id: I215939bdce2e08eb9d4c5286487941198ab19232
CRs-Fixed: 3470569
Find the best 6 GHz power type for connection
according to following regulatory policy:
1) SP power type is selected only if AP advertises
SP and client supports SP.
2) LPI power type is selected only if AP advertises
LPI and client supports LPI.
3) VLP power type is selected for the below cases,
a) AP advertises VLP and client supports VLP
b) AP advertises SP but client doesn't support
SP but supports VLP.
c) AP advertises LPI but client doesn't support
LPI but supports VLP.
Change-Id: I6e3b9fc4bf7445c58681ef0ea8e45b434851a5b6
CRs-Fixed: 3456182
Add api support to read the pointer to recovery mode in shared
memory, this pointer will store the if the mode recovered is
mode1 or mode0
Change-Id: I9e8dbd32c62dbb75d27d590a5013b4a9837fae24
CRs-Fixed: 3458369
wlan_cm_get_rnr, uses the cm request without lock and pass the
pointer to the caller instead of passing a copy.
Fix it by copying the rnr info while holding the lock. and move the
cm req access logic to core from dispatcher.
Change-Id: I72861021d98b996a379a2917874b5dadbc37c6af
CRs-Fixed: 3483871
PMAC is giving fatal when mgmt packet is getting queued
with non-zero version in frame control
Adding a check for version before queueing mgmt packets.
Change-Id: I606513b6ce027f1126e9cd40a9909886441de240
CRs-Fixed: 3422973
Currently host only fills LPI rules in pdev_priv_obj. If
country supports VLP, SP then host doesn't fill these
reg rules and advertises the same to kernel. This results
in zero 6 GHz channels in scan list shared by kernel.
To address this issue, fill LPI rules or VLP rules or
SP rules as per availability.
Change-Id: I4c00009d6124a1cd1371c7ac537186e79e51beb6
CRs-Fixed: 3470612
Use vdev macaddr instead of bcast addr for GTK/BIGTK PN fetch.
Also, copy back TX PN back to hostapd.
Change-Id: I98fc7a78c194c84de6554a684d3ce14f66772040
CRs-Fixed: 3370635
Add code changes to handle new wmi_mlo_link_disable_event
Extract the wmi event params and store in host defined
structure.
Change-Id: I6893bfa4da7b27f4a9b1ce2936057bb3576a317c
CRs-Fixed: 3458680
Change WLAN_UMAC_MAX_AID from 2008 to 1991 for reserving
1992-2007 value from AID pool for 11az TBR rSTA ranging.
Change-Id: I4e6a85d28c1391649ecc748d9b61167760858088
CRs-Fixed: 3479547
Correct reg rules for CC GB.
a. Change CHAN_5250_5330_16 to CHAN_5250_5330_12 to mark
radar frequency range.
b. Change CHAN_5735_5875_7 to CHAN_5735_5875_4 and to remove
radar marking.
Change-Id: Ie82e64fa444b6bcca3a6a31cb419179081e1c669
CRs-Fixed: 3447292
Below code changes are made
1. Correct 5 GHz reg rules for APL 26/27 RDs.
i. APL26 changes
a. CHAN_5170_5330_3 is split into CHAN_5170_5250_8 and
CHAN_5250_5330_12 To mark missing radar frequency range.
b. CHAN_5490_5730_3 changed to CHAN_5490_5730_5 to mark the
frequency range as radar indication range.
ii. APL27 changes
a. CHAN_5250_5330_10 and CHAN_5490_5730_4 are changed to
CHAN_5250_5330_7 and CHAN_5490_5730_1 respectively to mark the
frequency range as radar indication range.
2. Remove duplicate entry CHAN_5735_5835_8 (duplicate of CHAN_5735_5835_1)
Change-Id: Ib9d0e7455d489451da8beb71175e9a9b4ff6d3ca
CRs-Fixed: 3447101
Clear the peer-level tid-to-link mapping and set
direction to invalid if-
1) Host receives updated T2LM info through
critical update.
2) There are two T2LM elements received in beacons
and mapping switch time expires for first mapping.
Apply the second mapping.
3) There is a single T2LM element and its mapping
switch time expires. Apply default mapping.
Also, initialize peer-level mapping structure
when a new peer is created.
Change-Id: I1d06ec5f2f5aa398724213a3be08b6588f78c9b0
CRs-Fixed: 3435329
Correct 5 GHz channels reg rule for CC PK.
a. Split CHAN_5170_5330_3 into CHAN_5170_5250_8 and CHAN_5250_5330_12
to mark missing radar frequency range mark.
b. Change CHAN_5735_5875_8 to CHAN_5735_5875_3 to change regulatory
power value to 30.
Change-Id: I48027de034a0cf39fe8135ffdb180b8b3fcf133e
CRs-Fixed: 3459453
Scenario: There is dual sta present in HBS mode in DUT where one
sta is on wlan0 interface and it has 11be capability, so it has
formed ML connection with ML AP. The another STA is present on
wlan1 interface and this STA also supports 11be capability. But
as per current design, host supports 11be with MLO. It doesn't
support 11be alone. Also 11be with MLO is supported only in wlan0
interface. So for another connection which are present in wlan1
interface, even if it supports 11be host will downgrade to 11ax
and form connection.
During the formation of second connection, host will sends peer
create command(WMI_PEER_CREATE_CMDID) to firmware. Before sending
this command, host checks only eht cap in cm_create_bss_peer()
and fills the mld_mac addr. Because of that, DP assumes that
there is an ML connection and it creates MLD peer on wlan1
interface. Due to this, it causes ping failure on wlan1 interface
as the ICMP response might be coming on incorrect peer and it's
getting dropped.
As part of fix, check eht cap as well as vdev is mlo supported or
not in cm_create_bss_peer()
Change-Id: I60dbb8ee91025266d0b9b48075dc2db9a407e015
CRs-Fixed: 3454128
Correct wrong frequency mapping for APL25 RD.
a. CHAN_5170_5330_3 is split into CHAN_5170_5250_8
and CHAN_5250_5330_12 to mark missing radar frequency
range.
b. CHAN_5490_5730_9 is split into CHAN_5490_5590_4 and
CHAN_5650_5730_4 to mark the frequency range as radar
indication range.
c. Remove unused reg rule CHAN_5490_5570_1
Change-Id: Iabeba570c1c0edde9221db9bc38beac59de6e179
CRs-Fixed: 3447198
Wireshark give RNR Neighbor AP bit swap which cause the RNR issue.
Create a index and bit size macro for Neighbor AP Information
field of Reduced Neighbor Report element to fix the issue
CRs-Fixed: 3462470
Change-Id: Id894bb094e3a36fe869c3897ee674d517e1e78d1