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
Currently, For legacy modes monitor mode reporting incorrect tx rate
for data packet in radiotap header due to packetcapture_hdr rate
is hardcoded as '0'.
This change calculates the data rate of legacy packets using mcs
reported in tx completion.
Change-Id: I2a651b8fb36947672bd30f8a635f0e643219e520
CRs-Fixed: 3442376
Currently monitor mode HT & VHT data packet tx rate is not
matching with ota packet tx rate due to incorrect mcs value.
This change is to update proper mcs value for HT & VHT modes.
Change-Id: Ib4fb06a06ce35a4e8e683e5a22c8be226492b13f
CRs-Fixed: 3442509
Currently, Fw did not set NACK reason code
to Host when Fw is not ready for WoW.
As part of the new change, Fw will send NACK
reason code along with WoW NACK to host.
Make changes in host to store and print
NACK reason code.
Change-Id: Ic978af9572c8de37df3fb926083aac5e6ddefda7
CRs-Fixed: 3481177
Currently for REASSOC command host starts vdev ops
and tries to use vdev. In parallel if host receives
interface down and starts vdev trans then proceeds
to stop adapter and destroys the vdev, this leads
to null pointer dereference if vdev is destroyed
first.
This happens because driver doesn't wait for vdev ops
to complete after starting vdev trans.
To address this issue, start vdev trans and wait for
vdev ops to complete before proceeding to execute
further.
Change-Id: I363d05f742f7569dffed70cfa9b6bb9a0a766d9e
CRs-Fixed: 3445858
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
If while roaming from 2.4 GHz to 5 GHz band with SAE
encryption, rates shouldn't be filled from the current
session/AP as this may lead to incorrectly filling rates
for instance this may lead to incorrectly filling CCk rates
for SAE Pre-Auth while roaming from 2.4 GHz to 5 GHz. As
even though with roaming offloaded, sae pre_auth due to
crypto limitations of fw has to be triggered by the driver.
Change-Id: I2293563db047e10ec8a2ade9f3b2a602cf3e3edf
CRs-Fixed: 3336853
Currently host driver does not update dot11 mode info correctly
for getbssinfo command if the dot11 mode is 11AX or 11BE.
With this fix add a logic to update the dot11 mode info
correctly in response to the getbssinfo command.
Change-Id: I9ebec3ab43fe4cff1cab5f646bcc93a8c6654fd0
CRs-Fixed: 3353630
Here upper layer configures roam band via the SETROAMBAND
NCHO command. This means DUT should be restricted to roam
to the configured band only but as per current PCL filtration
logic, DUT is allowed to roam beyond the configured band AP
also. Roam Band definition is:
0: auto (all supported bands)
1: 2.4 only
2: 5 only
3: 2.4 + 5
4: 6 only
5: 2.4 + 6
6: 5 + 6
7: 2.4 + 5 + 6
Fix is to update the PCL filtration logic in wma_send_set_pcl_cmd
and make sure DUT doesn't roam beyond the configured band AP.
Change-Id: Ia2353e8ff982609a4ab5a35715886648f140cd22
CRs-Fixed: 3158456
Upon reception of assoc request from an already associated
PMF-enabled STA, the SAP is expected to start SA-Query
mechanism.
On the other hand, host driver drops all the
retried assoc request frames if the STA is already in
connected state. This is valid as long as the original
assoc request is currently under processing(to prevent
duplicate processing). However, for reassoc attempt cases,
this assoc request with retry bit set could be the first
assoc request under processing.
Therefore, change the logic to drop only retry-bit set
assoc requests in non-PMF STA cases.
For PMF-enabled STA, drop the assoc requests only if
key installation is pending. Otherwise, send SA query.
Change-Id: I1f3a564864e70f4e11994698389be427ac202fa3
CRs-Fixed: 3446033
Currently host drops an AP from scan list if host country is set to
US and AP country is non-US. This implementation violates our
standard regulatory scan policy.
To address this issue, introduce a new INI to differentiate
between our standard regulatory policy with others.
Change-Id: Ie6bd2d1925048aef427136b34d00d361955f40b2
CRs-Fixed: 3377242
Send the driver disconnect internal reason code as an event to user space
using QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON vendor command.
Change-Id: I19959e097c5709d63fbd941583b934e291c3af1c
CRs-Fixed: 3371396
In api sch_set_fixed_beacon_fields(), the channel switch announcement
method selection was based on config "CONFIG_CHANNEL_HOPPING_ALL_BANDS"
due to which peer STA may not be able to switch channel when MTP
is working as SAP and doing channel switching.
Modify the check in order to select the channel switch method based
on nature of peer STA and operating/target frequency.
Change-Id: I3deb09245496d65e6bb3ec27ed7eefd3dcaa27bc
CRs-Fixed: 3293983