Fix the error print: 'qdf_trace_msg_cmn: Invalid index - -1'. Move the
qdf print registration to early in driver initialization.
Change-Id: I338e6615d7f76110df762d725f535fb7493cb1cd
CRs-Fixed: 2092806
QDF Runtime PM lock APIs semantics are changed. Incorporate the
changes done in QDF for all the Runtime PM lock APIs.
CRs-fixed: 1116549
Change-Id: Ia701378031b7e9c01583eaef403e1219fdce47e3
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 connection_info_t typedef does
not meet any of those criteria, so replace it with a well named
struct.
Change-Id: I414f8d1949807f1bc0cda72971fab5696d1d1860
CRs-Fixed: 2092786
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_tx_rx_stats_s to align with that guidance.
Change-Id: Idb6f8a6a2aa7704dedefdb78689c966babab8c42
CRs-Fixed: 2092737
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_ap_ctx_s to align with that guidance.
Change-Id: I68fb6fb0a2e62d1462b04d05e5232167ce423754
CRs-Fixed: 2092736
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_context_s to align with that guidance.
Change-Id: I590cc8751873479a098f90b501c401c4fb4010c4
CRs-Fixed: 2092735
The Linux Coding Style eschews the encoding of type information into
names, so rename struct hdd_adapter_s to align with that guidance.
Change-Id: I2a43671d9233f596b4e10eda4ad8641d7311fad1
CRs-Fixed: 2092733
Currently, HDD keeps a ponter to the HIF target_hw_name, which it gives
to userspace upon request. If HIF is closed, this memory is cleaned,
leading to a use-after-free. When the HIF target_hw_name pointer is
received by HDD, store a duplicate instead of the original string.
Change-Id: Ic27f00937cd600ed04908f3ba0f83ede54bc31eb
CRs-Fixed: 2079231
WMI_CLEAR_LINK_STATS_CMDID can cause firmware crash if vdev_id is invalid.
Add staId, i.e. vdev_id checks to sme_ll_stats_clear_req() and
wma_process_ll_stats_clear_req().
CRs-Fixed: 2078391
Change-Id: Ic713b17aebeb89bc0ab69c2e4040d9018d3dc095
The API hdd_update_tgt_cfg decides whether to create a new PDEV
or use the existing one. In this case, the driver is
de-initialized/re-initialized followed by the cfg download. The
FW then generates SYS_READY and the control comes to this function.
Since there is no check for monitor mode the second PDEV is created.
FW seems to provide phy_id = 0 and expects the host to use the
corresponding pdev_id at various places during initialization.
Now here phy_id = 0 and pdev_id = 1, thus initializations fails.
To resolve this issue add a check for monitor mode in hdd_update_tgt_cfg
function and use the same pdev_id.
CRs-Fixed: 2087541
Change-Id: I9dd6449b1e81b6bb218d21c07ca0f5335067865d
VHT RX LDPC capability depends on both INI config and HW capabilities.
Current logic does not populate HW capability in a correct way. HW RX
LDPC capability is set as a bitmask of bit 4 instead of boolean value
while INI config is value of 0 or 1. Bitwise AND with HW cap and INI
config always creates a result of 0, which leads to wrong RX LDPC field
in VHT caps IE.
Fix is to populate HW RX LDPC cap as a boolean value and advertise VHT
RX LDPC capability when both INI config and HW capability are set to 1.
Change-Id: Iabf83f74d9bfc2bf7d958ca3a08e9e6090ac7fb8
CRs-Fixed: 2060216
qcacld-2.0 to qcacld-3.0 propagation
Randomize probe request's source address and sequence number to
improve user's privacy.
Change-Id: Ic367ce4578e65faf49e8092f0f8cce057eead728
CRs-Fixed: 1085995
A list of ipa tx_desc is created to have a one-to-one mapping between
tx_desc from ipa driver and tx_desc in wlan. The list pool size is now
set to IpaUcTxBufCount, which is IPA wlan FW tx comp ring size and is
more like a HW resource. But the list is used only for SW MCC TX path.
Fix is to define a new INI to set hdd_ipa_tx_desc pool size. But real
size is minumum of this INI and the global tx_desc pool size.
Change-Id: I3216a4c14ac624cc313d11226909efd4f63841d0
CRs-Fixed: 2076672
Currently cfg update notification is posting every message to WMA.
To reduce message posting load only post target interested messages
to WMA as part of cfg update notification.
Change-Id: I054d684b671d33f2b1ea73062b82af8862de0ab2
CRs-Fixed: 2090997
While resetting connection information, sta id is set to 0,
which is a valid value, leading sta id to hold a valid data
though connection information is reset.
While resetting connection information, set sta id with
HDD_WLAN_INVALID_STA_ID(0xFF) to make sure sta id holds invalid
data.
Change-Id: I7d438f323959a5fb6d3a232a88a8f2ca3c0e0c56
CRs-Fixed: 2040296
Currently both unicast and multicast counters are updated
when unicast packet is received if a multicast IP packet
is sent using a unicast MAC address.
Fix is to not update multicast counters when unicast packet is
received.
Change-Id: I6907a0cf51525af1ba6fb7e7be472eff72aaa779
CRs-Fixed: 2052905
Remove the channel avoid event processing in wma as the
event processing handled by regulatory component
Change-Id: Ifa0e340c6341b21c192066c8c6eb14418b041062
CRs-Fixed: 2080241
Replace the channel avoid event data structure with the one defined in
regulatory module, remove the HDD callback as regulatory module is
consuming the FW event now, add logic to notify user space of channel
avoid event.
Change-Id: I6b1b986837ab89503a7e0469619193b0af8127da
CRs-Fixed: 2080241
As soon as EAPOL start happens, supplicant start authentication
timeout as 70 sec to complete authentication.
Driver should not issue disassoc before this time expires.
Fix this by increasing authentication timeout for EAPOL to 75 sec
CRs-Fixed: 2039542
Change-Id: Ib07cff669099563bc7ba87367cf88da5cc6d0fd2
Hold wake lock in driver for SAP client disconnect notification to
user space inorder to avoid hostapd and driver going out of sync.
Change-Id: If81cf836b8fc047731735aa28831d1efa2f4e7b2
CRs-Fixed: 2084282
To resolve one of IOT issues, introduce INI called
"disable_high_ht_mcs_2x2" which will disable high MCS indices for
2G STA case based on INI value.
Change-Id: I60c5edd89a42f74c0f439fe6a9ab0c75373622b2
CRs-Fixed: 2087438
wma_vdev_find_req will remove the request from queue if found it. If
remove the request when peek it, then wma_vdev_find_req fail and memory
leak happens. The change for cleanup qdf list is for NULL mac_ctx case.
Solution is revert previous change and move mac_ctx checker back.
Change-Id: I06deedaf9f8a3c788621d8468e00d4d4852e2d9f
CRs-Fixed: 2090051
Presently, Host fails to report valid actual link speed
(gReportMaxLinkSpeed=0) to the upper layer when firmware
reports legacy link speeds as Host fails to update legacy
bit in rate flags, reported to upper layer.
To mitigate this issue report rate flags with legacy bit set
on receiving valid rates from firmware and if MCS index is
invalid, as WMA fails to set valid MCS index for legacy rates.
Change-Id: I0a542e8aa56eb18e653aad30c1bec13f133d267c
CRs-Fixed: 2089469
SAP selects different channel between cld2.0 driver and cld3.0
driver in ACS mode, which leads to confusion.
In cld2.0 driver, channel with the least weight is the first
choice, and non-overlap channel will be selected only when
overlap channel is disabled and its weight is not bigger than
the first choice channel.
In cld3.0 driver, non-overlap channel will be selected when
overlap channel is disabled.
The behavior in cld2.0 is more reasonable. Make cld3.0 driver
follow cld2.0 driver.
Change-Id: I6243ace8db7314c698a9b554e65794d2ee66e555
CRs-Fixed: 2086287
In LTE Coex test, firmware will report the unsafe channels, and if sap
runs on these channels, driver goes through channel select process and
restart. There are some situation, in channel select process, SAP can't
find the proper PCL channel lists, and fail to restart.
This fix is to let SAP continue to pick up a safe channel from ACS
range when fail to get pcl.
Change-Id: I54145547d2b161aec09caa2dabd4d4b52aa15f03
CRs-Fixed: 2064534
For fatal events , driver sends EVENT_WLAN_LOG_COMPLETE
to userspace. But there can be multiple events for each
ring id like connectivity, driver , frimware, wakelock etc.
Cnss diag has to trigger copy of pkt log to /sdcard only for
one bug report, so send ring id in log complete event so
that it can trigger copy for driver ring id.
Change-Id: I0776775ab81fd2920ea440b773b146b6af61e434
CRs-Fixed: 2028068