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
Move the logs to appropriate log levels to reduce the
log spam in lim_process_sme_req_messages.c and
lim_session.c
Change-Id: I3f81b3c2885814d80c8bf1e695454ce1bf279372
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in sme_power_save.c and sme_trace.c
Change-Id: I3d3c4e35db8dc8b94bf5e71be79dc4dd7958762c
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in csr_api_roam.c
Change-Id: I583c149bb8dd9768d8a06bbf87fc24d296bcab12
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce
the log spam in csr_api_scan.c
Change-Id: I2bb870f5b784b24cf47307ddffcc12a67ea40d70
CRs-Fixed: 1093093
Move the logs to appropriate log levels to reduce the
log spam in csr_neighbor_roam.c, csr_roam_preauth.c,
csr_tdls_process.c and csr_util.c
Change-Id: Ib59c127591f41664593fd66a423a3153ceabd18e
CRs-Fixed: 1093093
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
The WMA vdev structure contains wakelocks which must be deinitialized
and initialized any time these structures are mem-zeroed. Add
deinit/init calls to vdev attach error cases.
Change-Id: I36012606d4cc49c076ac6903ff49530c45433374
CRs-Fixed: 2102645
The host roam timers are deactivated and deleted in
lim_delete_timers_host_roam but again in lim_deactivate_timers
they are deactivated which results in assert.
Fix this by deactivating roam timers before they are destroyed.
Change-Id: I03f069edaf4361111dc5240fce2003c04c9c6509
CRs-Fixed: 2095265
WLAN_NL80211_TESTMODE need to be controlled by CONFIG_NL80211_TESTMODE,
or compiler will throw error, like - API cfg80211_testmode_* not defined.
CRs-Fixed: 2103007
Change-Id: I84536b8527656d8d0d4a0a7961ca8a83e8dd733c
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
Currently wherever cds_trigger_recovery() is called in atomic
context, work is being scheduled.
This change is to modify cds_trigger_recovery() itself detect
that it is being called in atomic context and then
itself schedule work to its own handler.
Change-Id: Id37e97c9b838ad18c355234aa13f2b9c05503029
CRs-Fixed: 2081666
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