Currently, sysfs_write_user_buffer spinlock is not
released correctly in DP_PRINT_STATS() when the
buffer size reaches max value. This is causing a
soft lockup, when the next DP_PRINT_STATS() call
is waiting to acquire the spinlock.
This change prevents the softlockup by properly
handling the release of the spinlock.
Change-Id: I13c3e26f7a26b501c5d23b8dc4b978f61beeabd0
CRs-Fixed: 3495547
In the latest msm-5.15 kernel, cfg80211_ch_switch_notify() expects
a new argument, puncture bitmap. Hence, enable the appropriate API
call definition to match the number of arguments.
CRs-Fixed: 3505931
Change-Id: I2a043ddf4e9de111158160910228b00f850a5f52
Modify the primary and alternate TX ring ID for IPA.
Primary TX ring id is set to 2, Alternate TX ring id is set to 3.
Change-Id: I88a479f67edc34794ccac5d82c8adc358b27760e
CRs-Fixed: 3445325
As part of CPE V2 or split phy board, IPA will start using
two TX ring and for the same disable the DP interrupt mask
assignment.
Change-Id: Ia676bfa6a8b89274f5dfd313f73761132bb7909c
CRs-Fixed: 3445325
When IPA is enable and TX DATA ring mask is not set for
TX ring given to IPA, Host should not select the TX queue
which is given to IPA, hence override the TX queue to 0 if
TX queue id is same as IPA TX ALT data ring.
Change-Id: I37d4ed564ca3333effe83277469ae3a9aecf7295
CRs-Fixed: 3445325
Add support for NAPI schedule latency and poll time histogram stats
for WCN6450.
Change-Id: If982ebe4e3cfa80f47c6d2fe9d4cb9dfa318481d
CRs-Fixed: 3485287
On reception of reassoc req from user space to the
connected AP, wlan driver proceeds with reassociation
without clearing the keys. This leads to encrypted EAPOL
frames in LFR2. To avoid this, trigger disconnect & delete
keys before proceeding with reassociation.
Change-Id: I02536a0049517ff5e8459834df493dccbf5a7a62
CRs-Fixed: 3433224
Currently radiotap header is malformed due to incorrect
tx flags update.
This change is update tx flags properly to prepare radiotap
header.
Change-Id: I0d3205b215c9fc363a71c4e7a6b54e40fb10a966
CRs-Fixed: 3442934
Define new driver internal flag which determines the kernel
support for eht flags in station_parameters structure.
Change-Id: If5518f97912edbd74cb6b38c832641a7999c974e
CRs-Fixed: 3484143
Store the copy of t2lm ie in mlo dev context and
apply t2lm config to FW when all links are up.
Change-Id: I87b2db9aba263634a558f24d99bf8e5bb91f2128
CRs-Fixed: 3504533
Due to a change in proto-type for dp_tx_desc_release, there is
a compilation failure for Rhine targets.
Fix the compilation failure for Rhine targets by passing the
required args for dp_tx_desc_release.
Change-Id: I422c0fe3a4e96c9e2c3cd42963236159a71a244e
CRs-Fixed: 3507470
nbuf is queued to head_nbuf in dp_rx_reo_err_entry_process. Before
reset head_nbuf, free all the nbuf queued to head_nbuf. Otherwise
there is nbuf memory leak.
Change-Id: Ib4bd64b51d750dac972298ddc46acd4294f2ed81
CRs-Fixed: 3449992
When wlan_reg_extract_puncture_by_bw return fail, new_punc isn't
filled, it is not initialized too, will be random value, it will
make F/W assert if the wrong puncture passed to F/W.
To fix it, initialize local var new_punc to 0.
Change-Id: I1554e1f55a2f5b319abc94b8409a5c4aed78e223
CRs-Fixed: 3506816
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
4) Peer_id fix for MLO clients with security
Change-Id: I1c9e6e767bbf6565567d998ae8e1357398de5803
CRs-Fixed: 3486304
Extend the feature to detect tasklet latency for all CEs.
And also introduce a build flag
DETECTION_LATENCY_TASKLET_MASK to control the enablement
of each, set bit-X to enable detection for CE-X, the
default value is 0x84(BIT(2) | BIT(7)).
Change-Id: I2874d1d50fc5febbf028ebb48ba64e11977c8c34
CRs-Fixed: 3474314
Currently, the flag 'is_6g_afc_power_event_received' is not initialised
while processing the event WMI_REG_CHAN_LIST_CC_EXT_EVENTID from FW.
The flag is set to 'true' on processing the AFC power event
REG_AFC_EVENT_POWER_INFO.
When a new WMI_REG_CHAN_LIST_CC_EXT_EVENTID is received from FW, 6 GHz
master channel lists are re-initialized, but the flag
is_6g_afc_power_event_received is not reset.
To solve this inconsistency, initialise 'is_6g_afc_power_event_received'
to 'false' on processing WMI_REG_CHAN_LIST_CC_EXT_EVENTID. It is to be
noted that the AFC expiry event REG_AFC_EVENT_TIMER_EXPIRY should be
sent after every WMI_REG_CHAN_LIST_CC_EXT_EVENTID.
Change-Id: Ibdac2744b86c75aff5e98f0f3dbedba679de6998
CRs-Fixed: 3500058
This change adds support to set flag to indicate peer assoc
sent to FW. On peer delete, using the flag, it excludes
the peer assoc command missing link in peer delete command
Change-Id: Icb559941598a797e7d437fbb90a94358f709a2b3
CRs-Fixed: 3504769
Optimize scan logs while dropping frame to print frame type
and freq and other info and use same format to print.
Also If bssid hint is zero, avoid printing hidden bssid which
are filtered out.
Change-Id: Ibb6cb523b9be6af2c05c4a5a7a5cbccb44f984af
CRs-Fixed: 3506377
Currently number of elements per page info is used from the
soc->link_desc_pages for both wbm idle link ring and monitor
desc ring replenish.
Chipsets uses SOFTUMAC architecture does not have WBM component.
So, there is no memory allocation for wbm idle links and
soc->link_desc_pages will not get initialized which results in
crash during monitor link desc ring replenish.
Fix this issue by using the number of elements per page info
from the soc->link_desc_pages for the wbm idle link ring replenish
and from the monitor_soc->mon_link_desc_pages for the monitor
link desc ring replenish.
Change-Id: Ie75561b8e2dd2c926b971c133e9bb704b5901bf5
CRs-Fixed: 3494948
Prevent start and stop process of target or soc, as it could
lead to issues for mlo enabled socs of that mlo group
Change-Id: Ib2b28443828cbc4be670f5bc8a69d4fecfc1c8b7
CRs-Fixed: 3500007
1. Add ini configuration for enabling round robin flows to
core distribution in FSE
2. Register FSE APIs to CDP FSE ops
Change-Id: Ic61c44eb9bc68a8c1a0116d4e6aa1d54cf489b62
CRs-Fixed: 3505287
Currently, MLO vdev flags(WLAN_VDEV_FEXT2_MLO and
WLAN_VDEV_FEXT2_MLO_STA_LINK) are set/get from both initial
connection and roaming. As there are no logs in the set/clear
APIs, it's difficult to track where it's set/cleared for debugging.
Add logs in set/clear APIs to indicate on which vdev the flags
are set/cleared.
Change-Id: Idf61b7172b4ddb5f809899866aba7316b62662f0
CRs-Fixed: 3476756
In enterprise mode, when power event is received from Target, ACS is
not called and regulatory takes no action to AFC power event.
Hence, when host receives the event REG_AFC_EVENT_TIMER_EXPIRY with
subevent type SWITCH_TO_LPI or STOP_TX from FW as a response to payload
reset command from client application, the channel list is not updated
as 'afc_reg_no_action' is enabled.
To fix this issue and update the channel list, add reg txops to trigger
channel list update while processing REG_AFC_EVENT_TIMER_EXPIRY event
from FW when 'afc_reg_no_action' is set.
It is to be noted that 'afc_reg_no_action' should be set only in
enterprise mode.
Change-Id: I9ba2a0a0d0c4282895b3787943aca1dd45c199c3
CRs-Fixed: 3492604
Update ML Reconfig ie parsing for D 3.0:
1.Add new common info length subfield in common info length.
2.remove STA profile subfield from Per-STA profile subelement
3.add STA info length and STA mac address subfields in the
STA info field.
Change-Id: I02988ae7a2098b0278438e26156475e2b4f9c4ab
CRs-Fixed: 3465406
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
If WMI max pending commands are reached and UMAC reset is in progress then
add the WMI pending command to host SW queue instead of crashing. The
reason is FW will not reap the WMI commands from the CE ring when umac
reset is in progress. Hence, add the pending WMI command to host SW ring.
Change-Id: I871147a80669a88875b3f6891bd0b0a56b92733b
CRs-Fixed: 3502217
For both Unified Bonding and Non bonding mld mode,
add Support to get VDEV Stats for MLD Interface on
STA mode for ifconfig and wifitelemetry tool.
Change-Id: Icb528d8738fd932d3f2c057af49fc7af141299e9
CRs-Fixed: 3502731
Use monitor pkt tlvs size and monitor buffer size
instead of data pkt tlv size and data pkt buffer size
for York.
Change-Id: Ifc0d07ed96100ae79e81ac91bccd637e08d71e28
CRs-Fixed: 3494826
Increasing the buf ring size for York is leading to memory corruption
issues.
Adding change to partially revert commit, specific for York alone.
I3099f6526aa11b353c8a5178de450d48f141a461
Change-Id: Ia9836bc982590fbeb14021dcc3b7bc7014d2fa36
CRs-Fixed: 3490257
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
Local packet capture filter settings needs be to applied only to
HTT_RXDMA_MONITOR_STATUS_RING and not HTT_RXDMA_HOST_BUF_RING.
Change-Id: I2a2d2810407941310c88db551894806d0884d157
CRs-Fixed: 3501638