When we receive a negative EIRP value from AFC APP with UINT, we treat it
as a positive value. See the following reasons why EIRP power value
was changed when we received it as a UINT.
1. In the reg_find_eirp_in_afc_eirp_obj function, the afc 'eirp_power'
(16-bit) value is in units of 0.01, and it is an unsigned integer. For
example, if the negative value is "-1400" then it becomes "64136". With
this value, when we try to get the original EIRP value using division
(eirp_obj->eirp_power / EIRP_PWR_SCALE(100)), it returns "641", but the
expected EIRP value is -14.
2. In the reg_get_sp_eirp function, both the variables 'afc_eirp_pwr'
(8-bit) and 'reg_sp_eirp_pwr'(16-bit) are declared as unsigned integers.
For example, when "-14," is assigned to "afc_eirp_pwr", it becomes "242".
And assuming 'reg_sp_eirp_pwr' is "36", the minimum of the two variables,
using QDF_MIN(afc_eirp_pwr, reg_sp_eirp_pwr), becomes "36", but the
expected minimum is "-14 or 242".
Process the positive or negative EIRP values that are received from AFC
application. Receive it as an int instead of an unint and typecast it to
int when we check for minimum value from afc power and standard power.
Change-Id: I255225e1f68ab897d36f3d4fbd5e5815a862460b
CRs-Fixed: 3398501
Add enum to parse and store AFC response format type. This enum is
used to map the response format negotiated with FW during WMI init.
Change-Id: I5c0b61aeddfce1d1b64f9225f64546f80d0e9e3e
CRs-Fixed: 3420549
Add if_mgr support to handle STA CSA complete notification and
SAP CSA Started and complete notification.
Before CSA vdev restart on SAP side, disable TDLS off channel.
After CSA, check if TDLS is allowed for the current concurrency
and take action accordingly.
Change-Id: Icbadb898f5b468717f74f92a0993c05b59719205
CRs-Fixed: 3445113
Allow user configuration options to skip a radio as
primary-umac in multi-link operation.
Change-Id: Ic7c8dd5c1cf7855f4fb762daf9ace7cb82e02cac
CRs-Fixed: 3437922
During initial AFC development it was assumed that AFC object would travel
till an application endpoint outside the driver, presumably till an
application of a different machine anything in the internet and therefore,
a packed and well formatted structure was propped for the AFC object.
However, when the AFC object leaves the driver, it is converted to an
object that has NL80211 TLVs to represent it. Therefore, the packed
AFC-request object is no longer a necessity. Moreover, since an unpacked
structure (or structures) is speed/time optimized, modify the packed
structures into unpacked structures.
Change-Id: I08db1911a355b6eebffa0e13def547c98ddf38d3
CRs-Fixed: 3431997
Driver extracts the vdev from peer, self mac address and
vdev_id. But in some APIs, there can be below scenarios
For example:
1. peer is not available for that vdev( roam vdev),
2. API does not have vdev_id,
3. mac address is not known or incorrect,
4. there is no session available.
While roaming, there can be scenario where driver need to
fetch the vdev before peer creation and session is not
available.
For this, driver introduces new API to fetch roam vdev from
pdev object.
Change-Id: I4a2521773b893a8dc0553335bcadac5a84fbc300
CRs-Fixed: 3441493
Once an incoming MGMT frame is inserted in the MGMT Rx REO egress list from
wlan_mgmt_rx_reo_algo_entry(), there is always a possibility that the same
frame could be sent to upper layers from the other CPUs before
wlan_mgmt_rx_reo_algo_entry() completes its execution in the original
MGMT Rx path. This means that nbuf and MGMT Rx params of a given frame
could be freed before wlan_mgmt_rx_reo_algo_entry() completes.
Hence, make sure to not access frame's nbuf and MGMT Rx params once the
list updates are done for that frame.
Change-Id: I91cbdef4b1ea5b81d39606e47a46021f30193ce5
CRs-Fixed: 3433621
The existing code does not support capability to be set
if trigger based ranging rsta wmi service bit is enabled.
This require addition of ext feature flag for trigger based
ranging rsta support.
Add 11az TB rsta ext feature flag and set the same as per
firmware capability for 11az feature.
Change-Id: I12512175d0b33daa906586c7f96f0c8c3f7400a3
CRs-Fixed: 3437057
Add support for WMI_CSA_IE_RECEIVED_EVENTID as:
1. Register the handler
2. Handler to extract the event
Change-Id: I9f476c7fbc51d9686d05fbdb5f46dec3bcd3c29e
CRs-Fixed: 3431363
Add a flag WLAN_VDEV_FEXT2_MLO_STA_TDLS to mark whether
the vdev is used for TDLS or not.
It can use these API:
wlan_vdev_mlme_feat_ext2_cap_set(vdev, WLAN_VDEV_FEXT2_MLO_STA_TDLS);
wlan_vdev_mlme_feat_ext2_cap_clear(vdev, WLAN_VDEV_FEXT2_MLO_STA_TDLS);
tdls_vdev = mlo_get_tdls_link_vdev().
Change-Id: I89c50ad5321013993e798ebb5549c5015ac18969
CRs-Fixed: 3435963
Changes to incorporate link mapping size in t2lm control
field of t2lm ie per draft 3.0
CRs-Fixed: 3431897
Change-Id: I61834258e6348b6483a86eb9e9217e3d5997c2c9
Read the new service capability:
WMI_SERVICE_TDLS_CONCURRENCY_SUPPORT for TDLS concurrencies
support. With this service capability below concurrencies are
supported:
STA+TDLS+P2P
STA+TDLS+P2P+P2P
STA+TDLS+P2P+SAP
Host driver will check this capability to disable TDLS
off channel when concurrent interface comes up. If this
service cap is not advertised by the firmware then
existing TDLS connection will be teared down when concurrent
interface is started.
Change-Id: I744775080a22ca8f3bc88894c349916eea27fd3a
CRs-Fixed: 3414266
SON IE length check drops some of the AP beacon or probe
response due to length mismatch.
As length may increase for some of APs. Remove check for
ie len of WLAN_VENDOR_SON_IE_LEN
Change-Id: I74add7ea539913f67bf7d11e2ff8e4b0374eba05
CRs-Fixed: 3418249
MLO dev context is accessed without NULL check.
Add NULL check before accessing the MLO dev context.
Change-Id: I51d672924dbbf70cbf4b7e4951a3a45d4fd551ec
CRs-Fixed: 3409901
Disconnect only non ML peers in CSA from non-DFS channel to DFS channel,
while keeping all MLO peers connected.
Change-Id: I7e8347cf4692b16b84ffbce4b102dd2f23bb70f0
CRs-Fixed: 3394219
Add peer type for MLO bridge peer. This is a special peer
created on 4-link MLO AP to allow association of some 2-link
MLO STAs.
Change-Id: Id2073ea82582ae67cae03b813d8f7bf44fde9aff
CRs-Fixed: 3412299
The wlan_crypto_reset_vdev_params() stub function, used when the
CRYPTO_SET_KEY_CONVERGED feature is not enabled, is misnamed, so
correct the naming.
Change-Id: Iff7db65f61dbec15529832c9db4430f908442645
CRs-Fixed: 3421947
Free peer object directly if current running context is not in atomic to
make the code much more reasonable and logical.
1. If current running context is not in atomic state, it's safe to call
peer free object directly.
2. If current running context is in atomic state, then delay this free
in a work item to avoid scheduling issue.
Change-Id: I9acf97354619ed2b6c09b3f619bd10dc930d8afb
CRs-Fixed: 3412111
Extract the scan blanking feature support from WMI service ready
event and store it in target if data structures. Add API to check
whether scan blanking feature is supported for a given pdev.
Change-Id: I65fefbb879b8433a68338bfcd3e4f729eff3ddd8
CRs-Fixed: 3413922
Fix improper naming convention for store_def_keyix_peer
Avoid qdf_export since the function is defined and called
from the same file
Change-Id: I488267eccf521071038958fe85e9c1be90df27b2
CRs-Fixed: 3384714
Whenever a frame is added directly to egress list, mark it as ready
for delivery.
Change-Id: Ifb2eff595227c3c6857666624ab272fd20845756
CRs-Fixed: 3405305
Add changes to read R-TWT svc bit from FW and update capabilities on
host accordingly. Update add twt session command to include new
params required for R-TWT.
Change-Id: I91cea65ef737b6fa445cb3680dac15e0f1063446
CRs-Fixed: 3399205
Define a new per vdev capability flag to exclude the sta
profile from MLO IE in unicast probe request frames.
Change-Id: I4486e4efbbb85dfa1e7b9d47326c60c79c974829
CRs-Fixed: 3392086
The kernel-doc script identified many documentation issues in the
umac/cmn_services folder. A series of patches have already fixed most
of the issues on a sub-folder basis, so fix the remaining ones.
Change-Id: Ibdfe9f0c5e8d6ddf9696d66d2a4a31978ff89004
CRs-Fixed: 3403261
Avoid queuing of stale frames into the management
Rx reorder egress list. Instead drop the stale frames
at the entry itself.
CRs-Fixed: 3402325
Change-Id: I80de6311e345feb2518ce7f042c53ffa95d22dfa
Reorder list holds incoming frames and frames to be delivered to
upper layers. Split the reorder list into two, ingress list and
egress list. Ingress list stores the incoming management frames
and egress list stores the management frames which are ready to
be delivered to upper layers.
CRs-Fixed: 3386123
Change-Id: I479f5d15bfab40649053b0ee2a0d8c13d80f8bba
The kernel-doc script identified some documentation issues in the
umac/cmn_services/crypto folder, so fix them. In addition there are
multiple instances of both the interface and the implementation being
documented, so remove the duplicates, keeping just the interface
documentation.
Change-Id: Ied5bfcdff185d0b144f8c41affb5adcb3b8a5b88
CRs-Fixed: 3394398
Initialize whole char array elements instead of initializing
just the first element in an array.
Fixed below compiler optimization error:
error: suggest braces around initialization of subobject.
[-Werror,-Wmissing-braces]
Change-Id: I103d95274e654cb7d232775cf7986a772741a152
CRs-Fixed: 3357183
In Multi-Chip MLO, FW is having memory constrain
while increasing the maximum supported MLO LINKS.
Reduce the values to avoid memory issue in FW
Change-Id: Id191f45f25de915e88ed1e12ae56d4a6e7b7095f
CRs-Fixed: 3391537
RSNXE bits are modified in the recent draft. Rename
WLAN_RSNX_CAPAB_PROT_RANGE_NEG to WLAN_RSNX_CAPAB_URNM_MFPR
and the bit position is changed to 15 instead of 10.
Change-Id: Iebca652a952b338f0533023581ebe45bc0aae452
CRs-Fixed: 3387173
The kernel-doc script has identified documentation issues in the
umac/cmn_services/regulatory folder, so fix them.
Change-Id: I134c0692507f58e2c9b13d71bec74d57a566a91c
CRs-Fixed: 3390471