The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ia65c6c8cab90c254fd12c7ada834ebdd6ffeeb47
CRs-Fixed: 2100176
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ia6cbe718dec3dc1c3b8bae19a84408d439b21717
CRs-Fixed: 2100174
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I84f5cc357c960d070eda7155bee7a6fe2373aa95
CRs-Fixed: 2100171
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Iccab34c5bf91b23af6a5b4f97386b8bed949fc79
CRs-Fixed: 2100168
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I1d0c53f3b83a15e3d4c4766edd832ed4450e5a15
CRs-Fixed: 2100162
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I3d3d82e1c5c7b70d6afab98f2c81b5d317ade628
CRs-Fixed: 2100160
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I995c57774d472336294e4190708755742eb49e3f
CRs-Fixed: 2100157
WIPHY_FLAG_SUPPORTS_SCHED_SCAN is removed in Linux kernel versions 4.12+
in favor of proper multiple scheduled scan support. Add conditional
compilation to set the appropriate wiphy state based on which kernel
version is being compiled against.
Change-Id: I5e688f085b1c13fec0b4f42c5da82411eae08c03
CRs-Fixed: 2093945
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Idea5222b03070b3e31008b7ba8973f86154a96e5
CRs-Fixed: 2100155
Linux kernel versions 4.12+ define WLAN_AKM_SUITE_FT_PSK. Avoid
redefining WLAN_AKM_SUITE_FT_PSK when compiling against 4.12+ Linux
kernels.
Change-Id: I8fdf9dace90b88dab872dfe4eaacbe363568c6cc
CRs-Fixed: 2093927
The 4.12 Linux kernel adds a request id parameter to
cfg80211_sched_scan_results(). Add conditional compilation to provide
the correct parameters based on the kernel version.
Change-Id: I2008895e390af88af0b22df6bfd7ef753d25b419
CRs-Fixed: 2092070
The Linux kernel version 4.12 introduced an API change to nla_parse().
Add conditional complilation to call nla_parse with the correct
parameters based on the version of the linux kernel being compiled
against.
Change-Id: Ibacd71f65760f9de4d2d87c77392a1c20bae5fa1
CRs-Fixed: 2093345
- Flush the active scan list during sme close
session
- Close sme session before deleting the vdev
object.
Change-Id: I8dd8fc794231a613e72089a01ddee5796b56abb7
CRs-Fixed: 2103543
Replacing the QCA_WIFI_NAPIER_EMULATION with QCA_WIFI_QCA6290 as
part of code cleanup for SoD.
Change-Id: I3ebcf3531041a27b6831b205bf45ff2cf6e2bf38
CRs-Fixed: 2085946
sdx/mdm:
no-perf: Enable log to cnss_diag by default, have rich debug log.
Avoid system crash when turn on much log in printk
QXDM can be used too
perf: Disable log to cnss_diag by default for better performance
change-Id: I3b8011b327c78625abe56e9b51167d6ca2e3757f
CRs-Fixed: 2101171
Linux kernel version 4.12 added a reqid parameter to the sched_scan_stop
callback signature. Add conditional compilation to use the correct
callback signature based on the version of the Linux kernel being
compiled against.
Change-Id: I500807de15ef5301b480e7f25a3dd146073f573d
CRs-Fixed: 2094028
The header where cdp_register_pause_cb is defined was mistakenly
included under a FEATURE_WLAN_CH_AVOID feature guard. This caused
compilation issues when FEATURE_WLAN_CH_AVOID was not defined. Move the
include out of the feature guard.
Change-Id: I340cbf888efc74f3761c0ea0fb53ea6d619f9306
CRs-Fixed: 2093249
Linux kernel versions 4.12+ move the interface 'flags' parameter into
the vif_params struct. Consequently, the add/change interface callback
signatures were changed to match. Add conditional compilation to adjust
the add/change interface callback signatures based on the version of the
Linux kernel being compiled against.
Change-Id: I0b7f6e04922d219cdb992a2c098bbe862845ccee
CRs-Fixed: 2093983
wlan_hdd_update_txq_timestamp tries to grab txq spinlock
in __dev_queue_xmit context. Issue is txq spinlock is
already held before calling into driver's ndo_start_xmit
callback. On UP system, kernel throws a BUG and system
crashes.
Fix is to detect spinlock recursion and only tries
to grab the lock when it is not held on the same
CPU or not held.
Change-Id: I3956ef00c4f4a563155dc82ed8f95f097129fb0c
CRs-Fixed: 2050134
HDD_CFG prints were being dropped from the qxdm log.
Initialize the nl server before the logging service
to guarantee all logs are delivered over the nl sockets.
Change-Id: I5719f8e2791e37a8c5e61ccf5c025afd1084ed99
CRs-Fixed: 2094161
To aid in debugging memory leaks, and improve the robustness of log
recovery from crash dumps, statically allocate pglog_msg in the global
scope. This allows logs to be inspected even in cases where a crash
came late in the unload process. It also improves log recovery
robustness by removing the possibility of using a NULL pointer offset
under certain memory corruptions scenarios.
Change-Id: I7301254d3d3ff811b322e435962e78f997937c2b
CRs-Fixed: 2074611
qcacld-2.0 to qcacld-3.0 propagation
FW has limitation to support old WMI_REQUEST_STATS_CMDID and
WMI_UPDATE_STATS_EVENTID interface on AP vDev. FW suggest to use new
WMI_REQUEST_PEER_STATS_INFO_CMDID and WMI_PEER_STATS_INFO_EVENTID to
get tx/rx rate.
This checkin is about HDD layer, provide APIs/callbacks to upper layer
to query rssi/tx/rx statistics of peer station associated with SAP,
and provide a default disabled ini setting and checking FW's
WMI_SERVICE_PEER_STATS_INFO capability to control this get peer info
interface. Add/change iwpriv/QCA_NL80211_VENDOR_SUBCMD_GET_STATION/
cfg80211_ops.get_station interfaces to upper layer.
Change-Id: Ib1571219faa16e3bc8c3eb1260137ae08b8b6016
CRs-Fixed: 2059507
Add changes to enforce start and end channel limit in do_acs
if driver force acs and vendor based acs are enabled.
Also add changes to fix memory leak in set vendor channel API
Change-Id: Id45aaf3eb3c3dc1606a249136d3801a63ee854c4
CRs-Fixed: 2088567
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Iebaa140de17abf4face710245c8431680663a0a0
CRs-Fixed: 2100153
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ia1b151d2590493b15422bd600dedb427a6eb39db
CRs-Fixed: 2100152
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Id69553b8ef9cc8daad1e1c136c0edfccfb820860
CRs-Fixed: 2100150
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: If336b3f168d6e4b5cd1925030cd65e171f8100b3
CRs-Fixed: 2100148
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Icf9c75c9b99c7f94b14d0f70597ab05eebadc4f5
CRs-Fixed: 2100145
When printing all of the stations connected to a SAP adapter, the ini
value for max number of station clients is used as the iteration limit.
Instead, use the max number of stations constant used to allocate the
array. This ensures all connected stations are printed in all cases, and
removes the theoretical possibility of running off the end of the array
in some configurations.
Change-Id: I3a506905f40272efe472028391e8080d764cb390
CRs-Fixed: 2100833
qcacld-2.0 to qcacld-3.0 propagation
Currently, few hdd driver commands which expect input are not checked
for space termination of command name. Skip of this check can result
in buffer overread error.
To fix this, add check based on the length of command name.
Change-Id: I92a4efd7e729a9d792af166b4a09963886c9942f
CRs-Fixed: 2090558
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I51019e186fff585146ff79928c00dfc6a854e78a
CRs-Fixed: 2100191
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I5ac8829606eda6940deebe13037e15e47bed6f9b
CRs-Fixed: 2100188
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: If3ba3e869a9dddd14432c6d9416d7b386f23eb3d
CRs-Fixed: 2100182
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I5f846c4b234bd55ff3120fd69ea13332e3e80d74
CRs-Fixed: 2100180
Compiler is throwing undefined WLAN_HDD_VENDOR_IE_ACCESS_NONE error after
WLAN_NL80211_TESTMODE disabled.
Move enum wlan_hdd_vendor_ie_access_policy out of WLAN_NL80211_TESTMODE.
CRs-Fixed: 2100717
Change-Id: I09e28eeff236006486087911064691339e59fc84
If vendor acs support is enabled, driver sends a list of channels
through a vendor event when it receives do_acs. Currently it sends
list of all valid channels even if hostapd or INI has specified
specific channels which is not expected.
If available send list of channels specified by hostapd or INI.
Change-Id: I9b931c69ce72a18c7e1ec603143091da6abca70c
CRs-Fixed: 2100742
If DUT connects to 1x1 AP in DBS mode, the nss value
will be reduced to 0 in current logic.
Fix by checking the nss > 1 before reduce.
Change-Id: I908ba358411ec7c99f57bb472a0d52a24e0422c3
CRs-Fixed: 2089211
Add support to use user provided BW for 2.4Ghz HT connection.
If HT capability in connect req indicate connection in HT20, force
the connection in 2.4Ghz to HT20 only even if AP support HT40.
Added ini override_ht20_40_24g to enable/disable this feature.
Change-Id: Ia03b67b9d6487e3e27f1cf8875afe95af1300b4f
CRs-Fixed: 2084929
Driver starts a vendor ACS timer which times out if vendor app doesn't
respond with commands within stipulated time. But in do_acs this timer
is started before all the channel list parsing, regulatory checks and
buffer allocation code. In some cases this takes up enough time to
expire the timer before sending the vendor event. Similar situation will
arise if a buffer allocation fails in between.
To avoid this start timer after the vendor event is sent.
Change-Id: If9bea4643e03f0541ac8d8af2183c1e8d3a6cc40
CRs-Fixed: 2096246
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I72ba57c8226c90c3c9f42f13445bb357d8a1b9c3
CRs-Fixed: 2100198
The default 11d scan interval is 1 hour. But make the 11D scan interval
programmable by user to test different intervals. Therefore provide INI
for the same.
Change-Id: Ifd0705eda69a0672ee41ea39f8230f533f5aa62a
CRs-Fixed: 2088739
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ic75ce44e589f35b390614c7ed77e240184e4ce82
CRs-Fixed: 2100190
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ied864c85ff8143d44f0eb35e0f49166f88e578ba
CRs-Fixed: 2100172
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ib8b11a064c448c1f1995bf192c6a70f49391cbd5
CRs-Fixed: 2100194
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I78b16ac511713e20c5b4a7d53315149a80d72e13
CRs-Fixed: 2100192
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ic173dab22fa7279634e913a28530a5b405b0a775
CRs-Fixed: 2100166
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_context_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I58246d49ae36d6555b21832d12c2ca6735c5a507
CRs-Fixed: 2100143