Based on new cfg component, refactor INI CFG_OVERRIDE_HT40_20_24GHZ_NAME
and remove legacy codes.
Change-Id: I5b4ed96a4930a9358bd93ee809bf5cddb2787fb4
CRs-Fixed: 2354476
If NAN or NDP support is disabled through INI, repeated NAN/NDP
requests from upper layers flood console logs. Convert these
error prints to rate limited prints to avoid excessive logging.
Rate limit error logs in NAN and NDP cmd handlers.
Change-Id: Ie3e7fce9e829c64d3d21d856a72a957365a04aa8
CRs-Fixed: 2355727
Move the following INIs definition from current definition to new
HDD component model INI definitions in hdd_config.h.
gOperatingChannel
gNumVdevs
gEnableConcurrentSTA
gdbs_scan_selection
Change-Id: Id65ca1ff1954af2d220e7221bfc5181e04b3c63d
CRs-Fixed: 2354920
During Vdev start/restart LimProcessDefdMsgs is set to false. If
start/restart timeouts, it will initiate SSR but will not send
response to LIM and thus gLimProcessDefdMsgs will not set to true.
Thus no other commands will be processed in LIM. If any command is
queued in serialization during this time it will timeout.
This will eventually lead to timeout of the vdev destroy command as
it won't get processed until the command in active queue timeout and
it leads to peer and vdev refcount leaks.
To fix it purge all active and pending cmds during SSR, so that vdev
destroy cmd can be processed immediately and can release vdev/peer
ref count.
Change-Id: Id5c15ccb4c27dabfdd4a9e0d7ee9b765130e03bf
CRs-Fixed: 2354899
Cleanup multiple HT related CFG/INI Items which are already moved to the
MLME component.
Also move gShortSlotTimeEnabled INI from HDD to MLME component
Change-Id: Ie8c19f508401d4d72990f35ea5dcc18d45f0f16b
CRs-Fixed: 2354687
Refactor ini items gSapForce11NFor11AC and gGoForce11NFor11AC
into new mlme component.
Change-Id: I85e2f7f9ae14a23c322572290b095aae0f29b0ec
CRs-Fixed: 2354940
Add changes to implement the correct Reported Frame Body Frag ID and
last beacon report indication sub-elements for beacon report action
frame
Change-Id: I3776a239c2e0b04d35c2adb58598016b927154c6
CRs-Fixed: 2342678
Once Driver receives APF sub-command QCA_WLAN_SET_PACKET_FILTER,
it posts the message to SME and returns the context. In case
where vdev restarts before sending the APF command to WMI,
driver will drop it since Firmware cannot accept the command
while vdev is down. Upper layer will have no knowledge of this
failure since there is no acknowledgment mechanism for a
successful APF command sent to the Firmware. Once the vdev is up
again, upper layer will send next APF instructions and driver
will allow then to the Firmware. This is problematic since
Firmware cannot operate with the partial APF instructions since
the initial part was dropped.
Hold the vendor command context till the command is successfully
sent to the Firmware. Propagate the errors to the upper layer.
Change-Id: If3cd6fbc85f83c0d78e735e96c00011cd2fd9347
CRs-Fixed: 2350640
Add the following WMM config ini configs to MLME cfg:
1. CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME
2. CFG_QOS_WMM_BURST_SIZE_DEFN_NAME
3. CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME
4. CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME
Introduce the basic infra APIs related to these configs
from mlme.
Change-Id: I149971768a7193099926e2778f093dcd073f0461
CRs-Fixed: 2327692
Add support to configure the FW to send the action frame in
HE trigger based PPDU.
Change-Id: Ie6df5b1cb40c7f1b18a9e86f90b4b8f44ba7bf6b
CRs-Fixed: 2311413
The count of multicast filter entries recorded in adapter
is not updated when uplayer delete multicast filter from
IP table. It causes FW can't receive the WMI command which
was used to delete multicast filter.
Change-Id: If1af16048e4a4f69673c4294d846b36e77bbcb5d
CRs-Fixed: 2349236
The signature for sme_get_bss_transition_status() indicates it returns
an int errno, and that is what the only caller is currently expecting,
but in reality it returns QDF_STATUS. Since SME APIs are generally
expected to return QDF_STATUS, update the signature as well as the
caller to use QDF_STATUS.
Change-Id: I256fac3980ee55c6e797388df1ea7022fd9fe863
CRs-Fixed: 2353529
As part of CFG convergence, few INI parameters
were moved to under the CFG module but were
not cleaned up in the wlan_hdd_cfg files.
Cleanup the wlan_hdd_cfg files by removing
unused INI parameters
Change-Id: I8b90d11d613485d17fcfe7c4157001b7415f8cc8
CRs-Fixed: 2347108
In the fix Id1838939813e6cd2d52cee8720a1f4e0ca34329b, the condition to
check the number of args for the command unitTestCmd is set to greater
than equal to, which causes border cases to fail.
Fix the condition to pass correct number of arguments.
Change-Id: I4c6297fb112b4c60a4cb87ffaf0d3999ba798cd9
CRs-Fixed: 2353745
In order to conform to the coding style rename parameters pMacAddress
and staId to function hdd_cfg_get_config().
Change-Id: Id4dcf625b4c8476631dccb6d9cbe2f6a63f74e4c
CRs-Fixed: 2352066
There is no iwpriv command to send STA/P2P_CLI connection information
to userspace. Implement "iwpriv wlan0 get_cxn_info" command
to send the information to userspace.
CRs-Fixed: 2342141
Change-Id: I39e461b62eb5263d7e185686ae42bdbbc8edec7a
In cfg80211_change_iface if we don't get previous mode vdev
references then error is returned. In a case where there is
no vdev existing before this will cause sap failure.
Fix is if previous vdev reference is not available skip vdev
access and continue further operations.
Change-Id: I3209f1e1a86050baf389f20029a97a5bdb50d71d
CRs-Fixed: 2352385
Remove the definitions and related internal data structures and
value retrieving code of the following 3 CFG INI items, due to
they're not used to control any driver behavior any more.
-gVccRssiTrigger
-gVccUlMacLossThresh
-gEnableBypass11d
Change-Id: I919bf191f48db4bf0947235ff804aed2b4b1bdb9
CRs-Fixed: 2352224
In order to conform to the coding style rename local variables in
function hdd_cfg_get_config().
Change-Id: I2b3d3d6b5c3b630967bed389f7f33b6c7b091413
CRs-Fixed: 2352065
Refactor HE cap cfg items to new mlme component using
updated cfg architecture.
Change-Id: Ib983d3fc983dfffd2eee7efd1a4e3681d26d84a6
CRs-Fixed: 2351420
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). A prior set of changes has refactored all of
the individual sub-ioctl handling into separate functions with a
consistent signature. Now convert __iw_setint_getnone() to use a
vtable as the last step of refactoring.
Change-Id: I7f9d5442083a58b9f36e3bb874748d0d5068bc12
CRs-Fixed: 2350073
1) Some CFG INI options' comment text are missing.
Add them so automation script can parse and retrieve the
correct comment text.
2) Fix some discrepancies in existing CFG INI comments.
3) Delete some INI items that are not used any more.
Change-Id: Ia2fc4fab70f78e99d14fd1f7f2b4248e6484ee32
CRs-Fixed: 2350612
With the introduction of new 32 bit ini for per vdev
nss and chains, the legacy inis are no longer required.
Cleanup the legacy inis of per vdev nss for both the
bands.
Change-Id: Ia4c8301062457a15a9bda49dca4a4a36a4372f88
CRs-Fixed: 2349204
Add prefix NSS_CHAINS to band info to remove duplicate band
info in driver, and minor code cleanup.
Change-Id: I3a8446af6b6c272cfcb19583540e2384f64e3a1a
CRs-Fixed: 2347624
Accept the command to change the dynamic params like nss
and chains only when the vdev is in connected state for
STA/P2P-CLI, and in start state in case of SAP/P2P-GO.
Change-Id: Id4d2e3c4ac6745e25c7005af0b3c95e3e1db4533
CRs-Fixed: 2347488
In the API drv_cmd_get_antenna_mode, the driver gets the
hdd_ctx->current_antenna_mode, which is pdev level, but
with the new feature of per vdev antenna mode, return the
num of chains for that particular vdev.
Change-Id: Ia8180592c34a29a7593943fc5e10c781682aac56
CRs-Fixed: 2347494
If the new feature of per vdev antenna mode is enabled, there
is no need of per pdev level antenna mode, as it may happen that
one vdev configures its antennas as 2, and the other vdev configures
its antennas as 1, which could lead to change of pdev level antenna
mode, by a vdev level command.
Fix is to keep the antenna mode only if the feature is not enabled.
Change-Id: I67011a5b88f8750cab22d76b1bf6d8ccc1f5375d
CRs-Fixed: 2347495
Refactor the code to a new API, and
inform the TDLS module about the new
nss change.
Change-Id: Ic478bed0634ba1f862d844994a0836a23eda3f56
CRs-Fixed: 2347496
Populate and verify the num of chains params sent by
the user and then send it to the fw.
Change-Id: I9a4870913ce9484d1a5dc5fddcade72bdafb6116
CRs-Fixed: 2347501
Populate the ini and dynamic params from the mlme
component and store them to the respective
vdev component in mlme priv obj during vdev create.
Change-Id: Ic80526e51ba97c24b5340843fc97406a6ba4c7ef
CRs-Fixed: 2347504
In __wlan_hdd_cfg80211_del_station while disconnecting all the
connected stations, driver send both disassoc and deauth and wait
for disconnect to complete for the STA. Once disconnect is completed
for the 1st STA, it continue to disconnect the next STA.
Now as both disassoc and deauth were queued and both of them set the
wait event resulting in wait event set twice for a disconnect
indication. This result in wait completion for the next STA disconnect
as well. This lead dynamo effect and multiple STA disassoc and deauth
commands are added in the serialization queue filling it up.
Fix this by sending only deauth STA req and removing the duplicate
disassoc STA req. Thus the next command will be queued only when
disconnect is completed for 1st STA.
Change-Id: I4ae6c578a3177a2a6ff75e6e75606e8c5e2f81a0
CRs-Fixed: 2350557
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal update hdd_we_set_11d_state() to conform with a consistent
int()(adapter, value) signature.
Change-Id: I96a7424630ffc9fd3a8713d980fe6efad4a7be05
CRs-Fixed: 2350071
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the WE_SET_MODULATED_DTIM ioctl handling into a separate
function.
Change-Id: I81701e1c54e62deb01468bb16a940ae823014d04
CRs-Fixed: 2350072
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the WE_SET_11AX_RATE ioctl handling into a separate
function with a consistent int()(adapter, value) signature.
Change-Id: Iaaba30073d59f96faddcb9f9baaabc60b8e58ee5
CRs-Fixed: 2350070
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the WE_SET_CONC_SYSTEM_PREF ioctl handling into a
separate function.
Change-Id: I89a0037902935d7ebf3c5ba3064ff9469d025c13
CRs-Fixed: 2350069
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the WE_SET_SCAN_DISABLE ioctl handling into a separate
function.
Change-Id: I412098141c3d4664c24ef40d10d0372051b19b6b
CRs-Fixed: 2350068
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the WE_SET_DEBUG_LOG ioctl handling into a separate
function.
Change-Id: I38b10ebef241cf202d17557293851af3b8af36ec
CRs-Fixed: 2350067
One of the HDD functions with the highest cyclomatic complexity is
__iw_setint_getnone(). In order to reduce the complexity there is a
plan to replace the existing switch with a vtable. As part of that
goal refactor the WE_MCC_CONFIG_LATENCY and WE_MCC_CONFIG_QUOTA ioctl
handling into separate functions.
Change-Id: I3396b436d221871d3c22d838af1fbdfd229c7d66
CRs-Fixed: 2350066
During sub-system recovery, the platform driver invokes the wlan's
shutdown and reinit callbacks. Reinit is called regardless of the result
of shutdown. Currently, the SSR transition is aborted in shutdown in the
event of a failure. This results in a panic during reinit, which expects
to be protected by that transition. Regardless of the result of
shutdown, do not stop the SSR transition such that the entire recovery
process is properly protected.
Change-Id: I3685920de5a7d47f6334bf4d8389cb267a46fac2
CRs-Fixed: 2350868
If the STA is already present, and a SAP has to come up,
return the STA channel as the best channel, and skip ACS,
if the Hw_mode is set according to the STA channel
Eg:- STA on channel 1, and hw_mode is 11B, or 11G.
Also the driver doesnt check the DFS master mode, and
includes the DFS channels in the ACS scan list, which
may result in SAP bringup on a DFS channel
Check the conc_channel, and acs_policy ini, and return the
best channel as the STA channel.
Also exclude the DFS channels from the ACS scan list if
DFS master mode is disabled.
Change-Id: I70951d7b51b620db8cda7ed771d5c36a7571a125
CRs-Fixed: 2340965