As part of regulatory cleanup,
reg_cache_channel_state is removed.
So,use reg_cache_channel_freq_state to cache
regulatory channel list instead on
reg_cache_channel_state
Also, replaced Channel Number with Channel freq
in hdd_cache_channel_info()
Change-Id: I5625b8ef4e5173d8f0d03a189ec06144a60bad6a
CRs-Fixed: 2908014
In some scenario, it is required to receive every ARP/NS packet even
it is not to solicit address itself. So add this vendor attribute
configuration to enable/disable ARP/NS offload on fly.
On some platform, if target suspend to WoW mode, APF filter will drop
such ARP/NS packet in the front, so prevent runtime suspend happen
if disable ARP/NS offload. System suspend still allow in consideration
of potential power impact.
It only support on STA/P2P-Client mode device, and this configure is
optional, while default behavior is ARP/NS offload enable. It will
restore to default behavior if interface being closed.
Change-Id: Icd49e230024bc1ce51519cd9fafee9bc9f79f382
CRs-Fixed: 2974176
SAP is allowed to come up on SCC with a STA operating
in 6 GHz only if the STA is on a PSC channel in VLP mode.
Therefore, filter out all 6 GHz channels from the PCL if
the STA operates on any non-VLP mode. Also, in case of
VLP mode, filter out non-PSC channels.
Change-Id: I37d9a510db3647fc07858af99eb614ebe824cc78
CRs-Fixed: 3206471
If user configure to not use 40 MHz in 2.4 GHz, then avoid setting
40 MHz capability and use cb mode as
WNI_CFG_CHANNEL_BONDING_MODE_DISABLE for 2.4 GHz.
Change-Id: I4e9153e211e02f6b959e16dad4573c2b490cb215
CRs-Fixed: 3584510
When send assoc req frame, if the length for extended capabilities
IE is zero, but present field is non-zero, it will cause assoc req
frame malformed issue.
Fix is to set present field value to zero when the length for
extended capabilities IE is zero.
Change-Id: Ie8826e6cfb1fc3a44ee52115ad4482e040f2c38a
CRs-Fixed: 3085943
The 6GHz HE capability macros were backported from kernel version 5.8
into 5.4, so change the check for kernel version to simply check for
the macro definition itself.
Change-Id: I86a9dfa964356ba65bd21ffef802042d442356bc
CRs-fixed: 2960286
New checks have been added in userspace to verify the 6GHz HE
capabilities before allowing the connection. These capabilities
are not currently being shared by host. Add logic to send the
6GHz HE capabilities to userspace.
Also, add APIs to get capabilities from MLME component.
Change-Id: I3d2bbe0d87be6094b6fc74ce01d0e418873cbc6f
CRs-fixed: 2931130
User may set the ini param g_sta_sap_scc_on_lte_coex_chan=1 if SAP
is allowed to come up on unsafe channels. Currently, this doesn't
cover the below case,
1. SAP is enabled on a 5 GHz channel in a non-DBS platform
2. Concurrent STA enabled and connected it to an AP that's in
unsafe channel.
3. SAP doesn't move to the STA channel though the ini to enable
force SCC(gWlanMccToSccSwitchMode) is set and it's a non-DBS
platform as the target channel(STA channel) is unsafe channel.
Allow SAP to move to unsafe STA channel if the ini
g_sta_sap_scc_on_lte_coex_chan is set to true.
Change-Id: I3e2b8ae57e843a938e4799f473da87664dbabb85
CRs-Fixed: 3609503
Add sanity check for index with NUM_CHANNELS and pcl_sz
when add 2.4 GHz channel list.
Change-Id: I04ac1bcdb6720a4740be7c2f5e08f76b3c34d8c4
CRs-Fixed: 3025000
Skip the FISA aggregation and drop the frame if the reo destination
indication is zero in the packet TLVs.
Change-Id: I9bd02652bf321202f6b59e6da98fc6959ab93413
CRs-Fixed: 3426355
In populate_dot_11_f_ext_chann_switch_ann API, will read current country
code from mac context which is not have the updated country code.
So, read the current country code directly from regulatory API,
wlan_reg_read_current_country.
Remove unused variables mac->scan.countryCodeCurrent,
mac_ptr->scan.countryCodeDefault and tagCsr11dinfo->countryCode.
Change-Id: Ice64ef1be5b775125ff3bcacfcab7684c6833cad
CRs-Fixed: 3529808
For STA+SAP/GO concurrency support from GUI, In case if
START/STOP AP/GO request comes just before the SAE
authentication completion on STA, SAE AUTH REQ waits for
START/STOP AP RSP and START/STOP AP RSP waits to complete
SAE AUTH REQ.
Driver completes START/STOP AP RSP only upon SAE AUTH REQ
timeout(5 sec) as start/stop ap will be in serialization
pending queue, and SAE auth sequence cannot complete as
hostap thread is blocked in start/stop ap cfg80211 ops.
To avoid above deadlock until SAE timeout, abort the SAE
connection immediately and complete START/STOP AP/GO asap
so that the upper layer can trigger a fresh connection
after START/STOP AP/GO completion.
Change-Id: I96de1bb27dfc669ccf920a90cf86a3cb54e68354
CRs-Fixed: 3452943
The AP adds OMN IE in the assoc response, and changes
its operating channel width during association. The
STA must move to this new channel width and update it
to the firmware during peer assoc. Since, the STA
doesn't update the channel width properly, it leads
to retries in the higher bandwidth where the AP is
not currently operating.
The VHT channel width calculation in the host driver
is not equipped to handle the new VHT OP IE definition.
Differentiate the VHT operating channel width field in
the VHTOP IE based on the ccf1.
Change-Id: Ibc3dc91ecc091a307244e3e1359dfe9e4520f277
CRs-Fixed: 3205020
Due to limitation uCode always filling SGI as long in
rx_msdu_start_tlv.
This change is to update SGI for VHT Rx data packet which is
extracted from WMI_VDEV_SMART_MONITOR_EVENTID.
Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e133
CRs-Fixed: 3459106
Currently for QCA_NL80211_VENDOR_SUBCMD_USABLE_CHANNELS vendor
command STA interface should be UP and running. During STA/SAP
concurrency when STA is disabled SAP cannot get the usable channels
from driver since STA iface is brought down by Wifi HAL.
These changes remove interface running dependency for get usable
channels vendor command.
Change-Id: I3760adda2ce258f428f2b803112ab25503e97b60
CRs-Fixed: 3517894
Currently, data rate for management tx packets is filled only as
1 or 6 Mbps which is wrong.
Sniffer expect data rate multiple of 2. Hence fill the data rate with
multiple of 2 for tx management packets which received from firmware
and converting into mbps.
Change-Id: I5dd6515804cd3751925af0992a30a7441ebf9bbb
CRs-Fixed: 3444177
When roaming has started and connect request from userspace
is received, disconnect is initiated as part of the connect
request and RSO stop->RSO Deinit is sent to firmware. But
before receiving the RSO stop, firmware posted the Roam Synch
indication to the host driver. While droping the roam
synch indication, the driver does abort roaming and as part of
that RSO state is changed to RSO enabled in connecting state.
Change the RSO state to RSO enabled only if roaming or roam synch
indication processing is in progress.
Change-Id: I7869d1a559884480708b9d1a493296a443364f0b
CRs-Fixed: 3089165
Hw mode change in progress is set after the set_hw_mode
command is queued in serialization. Its not reset in below
cases:
Active command timeout case, serialization command
cancelled case.
Before connect request is queued, if hw mode change is in
progress, there is 6 secs wait and if there is no hw mode
change response, connection failure. This causes subsequent
connection failures and there is no recovery.
Reset the wait for hw mode change event in serialization
command failure cases.
Change-Id: I716982f06198e9c3495685ddb158044778c4b1ff
CRs-Fixed: 3256424
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, set is_tx_pause flag when suspend sequence starts,
which will pause Tx ring HP update.
Change-Id: I81f25b8bfca917c95180c460fd932c0f75094c10
CRs-Fixed: 3295428
Currently, there is a race condition where packet gets
enqueued when WOW handshake is being done in parallel during
bus suspend resulting in assert in FW as Tx is aborted when
WOW command is received in FW.
To fix this, hdd_wlan_suspend_in_progress flag is set to drop
packets in SAP mode when APSS suspend is in progress.
Change-Id: I38a6a6bdf9858f627205f75f75f351f7debbb7f7
CRs-Fixed: 3227752
DTPC and power constraint IE is mutually exclusive, but there are
some faulty AP which are advertising both IE's at the same time.
To address this if both the IE's are present, preference is given
to the local power constraint IE.
Change-Id: I7810cbf3a570ba19d83934fe3946b9aa38967990
CRs-Fixed: 3383531
Currently low TPC power is configured to firmware if power constraint IE
is not present and only vendor DTPC IE is present. TPC power calculation
is depends on regulatory power, ap power constraint and TPE IE.
To fix this add new check is_power_constraint_abs in reg_tpc_obj.
Whenever local power constraint is from DTPC IE, is_power_constraint_abs
is set to true. And TPC power is calculated with regulatory power,
DTPC IE power and TPE IE power.
Change-Id: I37b14d144242fa30f02268f8a76b1b016bf69848
CRs-Fixed: 3383531
Currently, kernel provides the multicast address list to the driver
and driver appends this list with new peer multicast address which
are not included in the list. This is done in irq thread.
But with recent changes, for NDI, driver will update this list on
the peer addition and deletion which is executed in scheduler thread.
This may lead to issue when request to update the multicast
list comes from scheduler thread while irq thread request is in
progress and vice-versa.
So, to handle such situation, add spin lock which will protect the
multicast address list.
Change-Id: I9093a92d3714abd875dcd02743f711a5bed26090
CRs-Fixed: 3518989
Currently, driver gets peer multicast address list from kernel for
all interfaces and it send this list to firmware. For NDI, on NDP
confirmation indication, driver appends the multicast list with
new NDP peer added and then send it to firmware. But this is done
for first NDP peer only, kernel does not provide multicast list
again as kernel already configures the multicast addresses, unless
there is some reset happens in kernel.
This can cause issue as firmware is expecting the updated multicast
filter on each NDP confirmation (new peer is added) to enable the
NS frame exchange. As new peer is not added in the filter, firmware
will reject the NS frame.
So, to fix this, update the multicast list on NDP peer addition and
deletion.
Change-Id: I6371199ae5c3a8f4088987f1e6f10c39cbed1685
CRs-Fixed: 3518887
current observation is as following,
(1) RX UDP data length less then 12 bytes and they are aggregated
by FISA.
(2) aggregated UDP data might not be supported by user APP or they
are forwarded to other netdev.
if above two is met, kernel panic appears.
no solid conclusion from kernel network currently,
as a SW WAR from wlan driver side, check if current UDP data
length < 16 bytes, skip FISA aggregation.
Change-Id: Ia9e46705c7ace6a6e5580494231056adf214d7b2
CRs-Fixed: 3330035
As part of roaming, roamed event is sent to the userspace.
This marks the end of roaming and userspace begins CSI
restart for the new BSS. But, the channel information of
the new BSS is not yet updated to the vdev. This leads to
sending wrong channel in the for CFR capture.
To fix this, update the channel info of the new BSS before
sending userspace update.
Change-Id: I3af5aadf6041e56f2261aaebd7d2c1a108f63c65
CRs-Fixed: 3500062
Currently cck and ofdm flags are filled wrongly for monitor
mode data packets based on preamble and wireshark deriving
incorrect phy type for 11G & 11B.
This change is to update cck and ofdm flags based on packet
type.
Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e144
CRs-Fixed: 3447567