Currently even if shadow config v3 is enabled,
the logging of shadow registers attempts to print
it from shadow config v2 data structure.
Fix this logging of v3 shadow registers.
Change-Id: Id61eed9477682a91992ccad1eb4864698a0678c1
CRs-Fixed: 3230547
Align with regdomain revision 39 version, add a specific AUTO
regdomain table for automotive platform. Replicate
'Country Mapping for Linux Android' table for 'AUTO' initially.
Change-Id: Ie61bbdc22b4ac369a3a0c64dff1c905fe3342a0e
CRs-Fixed: 3210726
Remove type option from peer config as host doesn't have to track the
state of peer. State transition between associated and non-associated
peer is seamlessly taken care in FW and no host intervention is
needed.
Change-Id: If85ff68878fb2284ff28ff93320ca009377a90e6
CRs-Fixed: 3221274
Add management Rx inactivity timer to track the scenario
of no management Rx across MLDs.
CRs-Fixed: 3229245
Change-Id: Ic01782e4cf0eed1a1f87c2b88bcdcdeb2ba3df3f
RX TID HW descriptor is first allocated in setup stage. When
failure case happens, it is got freed. This change adds a
check to make sure it's valid before updating RX TIDs.
Change-Id: I1326315b2eca4c50ef9ff5fa887386de4a796eb0
CRs-Fixed: 3227483
Define QCA vendor interface for PASN offload to userspace from the driver.
The driver can send this command as an event to a userspace component to
perform PASN authentication with a list of peers with which the driver
needs to do ranging. The userspace component, if capable of performing
PASN handshake, can perform PASN handshake with all the peer devices and
set the relevant keys by sending the
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT command for each peer
to the driver.
Once PASN handshake is completed with all requested peers, the userspace
component sends consolidated status for all the peers to the driver. The
consolidated report is required for the driver to understand that the
PASN handshake process is complete and whether it succeeded/failed for
each of the peers it was requested for. The secure ranging context is
configured only for the peers with which the PASN handshake succeeded.
When the driver requests PASN keys, the userspace component can set the
keys from its cache if those keys have not already expired and were
derived with the same source MAC address that is requested by the driver
instead of doing the full PASN handshake again.
If the driver detects that current keys of a peer are not valid anymore,
it sends a notification to userspace using the
QCA_NL80211_VENDOR_SUBCMD_PASN command and setting the action to
QCA_WLAN_VENDOR_PASN_ACTION_DELETE_SECURE_RANGING_CONTEXT. The userspace
component should delete the corresponding keys from its cache.
Change-Id: Ib6e2c7baf7728dacf0303513c5a41412dae40b8b
CRs-Fixed: 3224160
Vendor command to get the WLAN radio combinations matrix supported by
the device which provides the device simultaneous radio configurations
such as standalone, dual band simultaneous, and single band
simultaneous.
Change-Id: Ic3fb07ede1b716a08c476292446dae3d6ad73ee5
CRs-Fixed: 3214052
1. Remove prints in per packet path
2. Add prefecth for skb shinfo
3. Avoid qdf_get_cpu() in DP tx
Change-Id: I86d196cc7865a2d5b3a5a6098f6f7d84397a60d0
CRs-Fixed: 3227568
Add a new QCA vendor attribute
QCA_WLAN_VENDOR_ATTR_ACS_LAST_SCAN_AGEOUT_TIME to
QCA_NL80211_VENDOR_SUBCMD_DO_ACS and opportunistically optimize time
taken for ACS scan. Avoid scanning the channels which were scanned
within last QCA_WLAN_VENDOR_ATTR_ACS_LAST_SCAN_AGEOUT_TIME milliseconds
and use scan results from scan results cache for ACS scoring. For other
channels, perform ACS scan and use the received scan results.
Change-Id: I5f57002566870fea7444358711205392e5e84053
CRs-Fixed: 3226134
Track PASN peers only in I-STA mode and not in R-STA mode, as
there is no external authentication request needs to be
triggered in R-STA mode.
Change-Id: I26e107f5db4c923784a3da32649ddadf67a7f901
CRs-Fixed: 3154523
Register OSIF callbacks with Wifi_pos module to initiate PASN
authentication request.
Call cfg80211_pasn_auth_request() to initiate PASN authentication
from wpa_supplicant for the list of secure peers.
Change-Id: I52b9518526f1b04ad520f2f19c7a4caa9b62b6b0
CRs-Fixed: 3149968
a. Fix memleak issue due to RX_HDR not received for a MPDU
b. Compute appropriate packet offset for non-decapped packets
c. Add correct DMA_LEN while adding a frag to SKB.
d. Add debug stats
Change-Id: Ie946f79df94df05789220b97c159c60d608bf1b2
CRs-Fixed: 3213698
1. Change/Add the following country mapping for all(WIN,Linux Android,DSRC)
i) Add new country "BOTSWANA" and map to ETSI13_WORLD.
ii) Add new country "BURUNDI" and map to ETSI13_WORLD.
iii) Add new country "FIJI" and map to APL1_WORLD.
iv) Add new country "GABON" and map to ETSI3_WORLD.
v) Add new country "LAO PEOPLES DEMOCRATIC REPUBLIC" and map to
ETSI13_WORLD.
vi) Add new country "LIBYA" and map to ETSI12_WORLD.
vii) Add new country "ZAMBIA" and map to ETSI13_WORLD.
viii) Change the mapping of RWANDA to ETSI13_WORLD.
ix) Change the mapping of SENEGAL to ETSI1_WORLD.
x) Change the mapping of "VIET NAM" to ETSI15_WORLD and remove 160MHz
disable flag
xi) Change the mapping of "SAUDI ARABIA" to ETSI13_WORLD.
2. Change the following country mapping only for Linux Android
i) Change the mapping of "UNITED KINGDOM" to ETSI18_WORLD.
3. Change (or) Add the following country mapping to Regdomain for 6GHz.
i) Create new Full 6GHz reg domain Hex code 0x0C and map Full 6GHz domain
Hex code 0x0C to countries: AUSTRALIA, CHRISTMAS ISLAND,
HEARD ISLAND AND MCDONALD ISLANDS, NORFOLK ISLAND.
iii) Map full 6GHz reg domain Hex code 02 to countries:BULGARIA, HUNGARY,
JORDAN, QATAR.
iii) Map full 6GHz reg domain Hex code 03 to Hong Kong.
iv) Map Full 6GHz Hex code 05 to LAO PEOPLE'S DEMOCRATIC REPUBLIC.
4. Add the following regulatory database for 2.4/5GHz.
i) Add APL14 "indoor flag" to UNII-1 5150-5250MHz and UNII-2a 5250-5350MHz
ii) Updated APL12 per JORDAN new 5GHz band rule and reserve for
customer use.
iii) For ETSI13, update Max. BW from 320MHz to 160MHz and remove straddle
channels CH144(5720MHz), CH142(5710MHz), CH138(5690MHz) and also 5650
Punctured 1111_1111_1111_0000 channel.
iv) Create new 5GHz Regdomain ETSI18(Hex 0x0E44) and Full 2 & 5GHz
Regdomain ETSI18_WORLD(Hex 0x6E).
v) For Israel, remove straddle channels CH144(5720MHz), CH142(5710MHz),
CH138(5690MHz) from ETSI17.
Change-Id: I7fa7f1e9f3e6fcd6aa6ecd5aa21bd4e82aeb19a0
CRs-Fixed: 3209514
Currently, bandwidth and corresponding MPDU retry threshold was
taken from tx packet status in per packet to update peer stats.
With this change, set bandwidth and MPDU retry threshold
during peer registration.
Change-Id: Iffd06968246d0b86b26716ae6672e2cd23360c67
CRs-Fixed: 3225479
Move the function attribute to common file so that the
parsing issue due to unreferenced tcl_data_cmd can be
fixed on other targets also.
Change-Id: I40a7196926061e8d232f0f070c0ed045dafd97e2
CRs-Fixed: 3228562
Current max aid assignment doesn't consider start aid
which is causing start aid greater than max aid in
MBSSID MLO case.
This change accounts start aid while updating max aid
Change-Id: Ic6af28cd2599090538393082032932ba416b4c66
CRs-Fixed: 3220059
Add new flag CONNECTIVITY_PKTLOG to make independent of
FEATURE_PKTLOG and REMOVE_PKT_LOG for packet logging.
This is because 32 tx/rx pkt logging is connection related
and this feature is independent of pkt log feature. Here
driver will send first 32 tx/rx pkts consisting of mgmt
and data pkts to userspace which can be used for debugging
Change-Id: I006a040546c9709f46e76dcd8630da8569c691c6
CRs-Fixed: 3222971
Management frames originating from links which doesn't require
reordering are not passed through mgmt Rx REO module. This may result in
delayed delivery of frames in the reorder list. Fix this by allowing
such frames to enter mgmt Rx REO module.
CRs-Fixed: 3224128
Change-Id: I94f7bc902acaac959b6bed475413925c266d5557
UMAC HW reset feature will be using the last interrupt context in each
DP interrupt combination i.e., on a system with more than 8 MSIs for DP,
UMAC HW reset will be assigned a dedicated interrupt context.
Add the necessary support for the same.
CRs-Fixed: 3163900
Change-Id: I26abd01e4261661ed95e1aa3cb2a774e78b50d9f
These utility functions help to parse the Probe Request Variant of
Multi-Link IE.
It implements 11BE draft 2.0 spec
Change-Id: I09dcf47ef481278f5c74082002f83d9c8e2155a4
CRs-Fixed: 3213367
Add a null function for reg_modify_chan_list_for_indoor_channels
as it is not required for AP software.
Change-Id: I420521d66b332a9f2b01097092eeb94cd4301879
CRs-Fixed: 3221590
Prior to receiving the power event, the super channel list is not getting
rightly updated with the REGULATORY_CHAN_AFC_NOT_DONE flag as it is filled
using afc_chan_list which is not filled until the power event is received.
To fix this issue, call reg_assign_afc_chan_entry_to_mas_chan in
reg_update_sup_ch_entry_for_mode only if AFC power event is received.
Now the super channel list is copied from mas_chan_list_6g_ap before the
power event and from afc_chan_list after the power event is received.
These lists have the REGULATORY_CHAN_AFC_NOT_DONE flag updated during
construction. So remove the call to reg_update_6g_chan_for_outdoor as
it is redundant.
Remove the return statement after disabling the out of chip range channels
as it does not get reflected the super channel list. This disabling is
done on local data and it is copied to super chan list only towards the
end of the function.
Change-Id: I725cf41ec3dc68ba9a615752fd170fc7b574aa16
CRs-Fixed: 3216916
reg_get_regd_rules is needed to fill the NL_REGDB_UPDATE_EVENT
in case of the 6 GHz outdoor AP.
Therefore, move reg_get_regd_rules from reg_utils.c to
reg_services_common.c.
Change-Id: Id99a8bc52ec24044845303fe3772082977962264
CRs-Fixed: 3158134
This change fixed compilation issue when enabled two configures -
CONFIG_WDI_EVENT_ENABLE and CONFIG_REMOVE_PKT_LOG.
Change-Id: I121ea61bd3681b834a36c0bc8017b855897023a4
CRs-Fixed: 3223552
Currently the sw_cookie is validated in RX error path
using the pool_id logic, which is not valid for KIWI target.
Kiwi target has a different logic to assign rx sw_cookie, as
compared to other legacy chipsets.
Hence this sanity of sw_cookie fails always for RX error
packets on KIWI target, and these corresponding buffers are
never released/replenished back. Eventually as more RX error
packets are received, the device runs out of buffers in the
refill ring and induces a backpressure.
Hence disable this sanity check for sw_cookie in rx error
path for KIWI target.
Change-Id: I320fcb268c1fe24695daeb4677af6cc0cbc445ed
CRs-Fixed: 3228792
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID: Add support
for a new roam command to get vendor control parameters
from FW. Host needs to send proper param ID in command
(from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID)
to get corresponding INI value from FW.
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID:
Add support for a new roam event to get param value
from FW. FW sends this event upon receiving
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID command.
Change-Id: Ic7b3badb14daff183dd36927b4dae6bbc036e6cd
CRs-Fixed: 3225166
Add bt_coex active field in roam scan done info as
part of roam stats event handler.
Change-Id: Ief31efe491bede5ae4571bf0f5ace284aa6ea0fe
CRs-Fixed: 3226707
Update the connect request crypto parameters based
on the new kernel changes to increase the size of the
akm_suites array in connect request
Change-Id: I6e9cecdb6fa02da5f2b2e238780d3f0fb389c8a2
CRs-Fixed: 3214567
reg_freq_to_chan_for_chlist() is called in a loop for every power mode.
The loop control variable input_6g_pwr_mode is not incremented and will
become an infinite loop.
If the reg_freq_to_chan_for_chlist() is not able to find a chan, increment
the loop control variable input_6g_pwr_mode.
Change-Id: Ibcd095ab291b3c487cd31c2af0dd736e852d0918
CRs-Fixed: 3226433
Remove unused local variable mon_soc in the dp_pktlogmod_exit to
address the compiling issue when PKT log enabled.
Change-Id: I5de03433603988e6f8125285a58c141551d7a149
CRs-Fixed: 3225370
Add QCA vendor event to indicate user space that the driver
recovery is completed after the internal failure.
Change-Id: Ib65c9773dd64fab36ba10493c27bd670c2bb6d08
CRs-Fixed: 3226415