This is a qcacld-2.0 to qcacld-3.0 propagation.
Currently the min value of gTDLSPrefOffChanBandwidth
is set to zero which is invalid, min value should be
1 (zeroth bit set) for 20MHz.
Change-Id: Ibc2da1c2cca7e704b21686ab795224462dd9f913
CRs-Fixed: 2004116
In some scenarios TDLS connection tracker is not
enabled correctly, When the system comes out of
concurrency. Due to this TDLS connection problem
observed in some corner cases.
Enable TDLS connection tracker exclusively, when
TDLS reenabled in the system.
Change-Id: Ibabcb8887708bd3bde3d7a9819d5bcc4ebda47bf
CRs-Fixed: 2003045
Although the wlan driver currently utilizes nl80211/cfg80211 as its
primary configuration interface, it still contains support for the
legacy wireless extensions ioctl interface. This interface, however,
is not being maintained and at some point in the future it should be
removed. But before it can be removed all applications which depend
upon this interface must be converted to use other supported
interfaces such as nl80211. To aid in this effort add a framework for
detecting and logging when wireless extensions ioctls are being used.
Change-Id: Ib2f3b64f74e673f3857f14ae12ff372a9f60de8d
CRs-Fixed: 2004194
Currently for both SIOCGIWRTS and SIOCGIWFRAG there are two separate
but identical handlers, one for STA-like interfaces and one for
SAP-like interfaces. For each ioctl consolidate the code into a single
handler. This is a prerequisite for further ioctl cleanup.
Change-Id: I4d4f288198bed2124ec96cf3ca1929e89705d4de
CRs-Fixed: 2004191
There are currently several error paths in __iw_get_bitrate() which
incorrectly return internal status enumerations instead of returning
negative errno values. Fix these paths to correctly return negative
errno values.
Change-Id: I42254dbe1b362fb42b87418419b97ccbabfac355
CRs-Fixed: 2004190
Currently __iw_softap_stopbss() uses a variable of type QDF_STATUS to
hold a potentially negative errno value. Since errno values do not
adhere to the QDF_STATUS enumerations, use an int variable for the
value. In addition appropriately convert QDF_STATUS to errno values
when returning status to userspace.
Change-Id: I105c6db4287384802b2f86d35fa5251954ea051d
CRs-Fixed: 2004188
The struct hdd_wext_state_s currently contains the field
collectedAuthType. This field is currently written, but is
never read, and hence it is useless, so remove all traces of it.
Change-Id: Ica2fc7a54cc92c8d4394cdcdd9470f624f705848
CRs-Fixed: 2004184
Desk review of hdd_wlan_startup() revealed improper use of the adapter
returned by hdd_open_interfaces() since in the failure case multiple
calls will be made to hdd_debugfs_exit() for that returned adapter.
Further review revealed the fact that having hdd_open_interfaces()
return an adapter is illogical since hdd_open_interfaces() can
legitimately open multiple interfaces, and hence the return value
should simply indicate whether all required interfaces were opened or
not. So update hdd_open_interfaces() to return errno instead of an
adapter.
Change-Id: I71117c32f053dad97a5c4bcaef33af27a903f511
CRs-Fixed: 2001662
Currently in the error-handling path of hdd_wlan_startup() there are
two issues with respect to the rtnl_lock:
1) hdd_close_all_adapters() may be called with the rtnl_lock parameter
set to false even though the rtnl_lock is being held.
2) the function could possibly take the rtnl_lock and never release it.
Fix these issues in hdd_wlan_startup().
Change-Id: Iaa69d540dd7663355ceb66f6bc8ba0e5dd8c228e
CRs-Fixed: 2001611
When CONFIG_WLAN_FEATURE_DSRC is enabled the resulting build fails
because there is no rule to make wma_ocb.o. The issue is that there is
a typo in the rule, so fix the rule.
Change-Id: I1b724736fcac175b9bf83e4a98878e1333a54b57
CRs-Fixed: 2002874
When CONFIG_WLAN_FEATURE_DSRC is enabled the resulting build fails due
to -Wmissing-prototypes warnings in wma_ocb.c. Fix these warnings by
making the OCB response event handlers static.
Change-Id: I041ff4ebce7c5c8f99c7567fec913b9adf3e53e9
CRs-Fixed: 2002870
Use functions directly for cloning instead of a func. pointer as
qdf_nbuf_clone API has different signature when MEMORY_DEBUG is
enabled and when it is not.
Change-Id: I95fa6e7b2789dd97c0c500d0854210240feaac17
CRs-Fixed: 1114632
Add maximum number of CSA counters in wiphy structure in order to
support channel switch command issued from supplicant CLI. By
default this value is set to 1, however supplicant assumes that
the counter is 2.
Change-Id: Idb9491585763f5e97efff1a5dd29d094d4553fd4
CRs-fixed: 2003465
The propagation of the Change-ID
I52c3e7b67c7f61160c54a1a6688db09f0137b7e1 has introduced
duplication of the code in the function wlan_hdd_tdls_exit().
The change is to remove the duplicate code from this function.
Change-Id: I50119396a98206b60c3d39f245a9fdf96fc0b695
CRs-Fixed: 2002676
During suspend, the host driver asserts if the firmware does not
respond in a set amount of time. Avoid this assert if the driver
is loading or unloading when the suspend operation times out.
Change-Id: I38ff8663e29bcf1a373c1b91c8c358e2b037577d
CRs-Fixed: 2003478
Multiple functions running in different thread context can access
the ROC context or alter its elements, after the roc context is
freed or its elements are altered by other functions which can
lead to crash or some other issues.
To address this, protect ROC context and its elements with mutex.
The possible scenarios addressed are during roc callback, roc
timeout and cancel roc.
Change-Id: I2c79216f71c720cd4b555061e8a69adab50dda5e
CRs-Fixed: 2002644
Driver is missing couple of deregister handler while bringing down the
scheduler
Change-Id: I8fc181e621d56290623419bfc0fde896522e91e4
CRs-Fixed: 2001133
Currently in STA mode, host do not change the peer state to
associate state after successful connection. Hence other
components always find peer state as not associate.
As a part of this fix, move peer state to associate state.
Change-Id: Idf85e7f7b916c8c8ee19b117deb14696de8216e5
CRs-Fixed: 1115161
TDLS peer list is deleted before TDLS exit
called, due to this TDLS peer idle timer
resources are not cleared correctly and
causes memory leak in the system.
Make sure TDLS peer list is deleted only
in TDLS exit function.
Change-Id: I2885d0ff21fa55a0514c68c40a9a15200bc4ed9a
CRs-Fixed: 2002378
Some modules are not initialized with qdf debug framework.
Initialize the new modules with the qdf debug framwork.
Change-Id: I7ff85da52d2c6c042f81e28c9e7becbc7c0d0713
CRs-Fixed: 2002626
1) Add enhancements to the existing log prints for lFR3
with respect to host driver code.
2) Fix memory leak in Wma roaming config handler.
Change-Id: If3e26a7f374673a4c7c11862e94f042bcf9d3c58
CRs-Fixed: 1109354
qcacld3.0-1.1 to qcacld3.0-2.0 propagation
As part of connect, when Probe resp/beacon from AP is not received,
vdev stop is sent to firmware. PE session is deleted and join rsp
is sent to sme after posting vdev stop command without waiting for
vdev stop response from firmware. SME will try to connect to next
BSS and host sends create peer to firmware. Firmware is not yet
done with vdev stop and panics.
To fix this, add callback function in lim_set_link_state to inform
when vdev stop resp from firmware is received. Upon reception of
this do the PE session clean up and send join resp to SME.
Change-Id: I43665f14736472da8da70b9c87361be769de7fac
CRs-Fixed: 1112551
Propagation from qcacld-2.0 to qcacld-3.0.
Add support to dump information for ICMPV6 RS and RA packets in
wow wakeup stats.
Change-Id: I1a2852189664fff31e29b487d7a8c66ee83931c5
CRs-Fixed: 1115364
Propagation from qcacld-2.0 to qcacld-3.0.
Add logic to dump first 32 bytes for rx packets
in DPTRACE.
Change-Id: I950108b9d1c9094ce3d285493ee36bda4f9d7e41
CRs-Fixed: 1074551
Under situations where the driver detects wifi capabilities are not
being used, it cleans itself up transparently to the kernel and shuts
down. The kernel has been observed calling the stop AP callback in
these situations, even though no virtual devices are active, which
causes a crash. Gracefully reject the calls into stop AP by the
kernel in such cases.
Change-Id: Ic215b033526125412ebe12c0021c61b20f4c86a1
CRs-Fixed: 2001200
ieee80211_band has long since been deprecated and is superseded by
nl80211_band. Replace IEEE80211_BAND_2GHZ with NL80211_BAND_2GHZ to
prevent compilation issues against 4.7+ linux kernels.
Change-Id: I6a6fcc7eb88ff040504c8df22e779898a45081ae
CRs-Fixed: 2002311
The features exposed by the setMCBCFilter ioctl are exposed via newer,
standard APIs. Strip out setMCBCFilter, and replace it with instructions
for moving to the new APIs. Relatedly, clearMCBCFilter is not needed,
so remove it completely.
Change-Id: I091ca239240ea1b35afe755cfa791b83bcd91409
CRs-Fixed: 2000747
The global HDD context contains mc/bc filter setting fields that
ultimately go unused. Remove these fields and clean up call sites as
appropriate.
Change-Id: I51dcc45d7f2d5ac8a55574b0c6dc0b30458047b8
CRs-Fixed: 1116051