This is qcacld-2.0 to qcacld-3.0 propagation.
Fix mem alloc for pre auth timer and add error handling for limInitMlm.
Currently number of preauth timer is taken as cfg param and memory is
allocated in bulk. In case the memory allocation fails, no error is
returned from limInitMlm, which causes undefined behavior. Also preauth
timers do not need contiguous memory allocation, so allocate an array of
pointers instead of single chunk for pre auth timers.
Change-Id: I92677aa9bb7970034630f4c6487fa9d196ccfb4c
CRs-Fixed: 955557
SAP is always coming up in HT20 on 2.4Ghz band even though
hostapd configures HT40 mode.
Remove condition to start BSS only in HT20 for
2.4Ghz channels.
Change-Id: I1e4712ee49bbb079c81a2193e2130d2c846c865f
CRs-Fixed: 970396
Pending scan entries are not cleared during SSR
execution which is causing scan failure after SSR
recovery.
Remove all pendings scans from global scan queue and
send scan complete callback to NL with abort flag set.
Change-Id: Iebffcf56ace59a3ded4df8141caf639c55f0b278
CRs-Fixed: 966580
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all cfg80211 vendor command
handlers to use this macro.
Change-Id: I3bb7112c6e5967577fa0f891e0b37ad7412bd2fc
CRs-Fixed: 975826
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all STA-mode private
wireless extensions ioctl handlers to use this macro.
Change-Id: I5a69d2a92c82bcf7931350e12ee7610748f5e3ab
CRs-Fixed: 975414
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all HostAP-mode private
wireless extensions ioctl handlers to use this macro.
Change-Id: I746788be7dd9a0d5317b483908adde22d96413dc
CRs-Fixed: 975414
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all HostAP-mode standard
wireless extensions ioctl handlers to use this macro.
Change-Id: I5cc2ee8c6fbde2778d4153a0dc3d5e509a3bb647
CRs-Fixed: 975414
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all STA-mode standard
wireless extensions ioctl handlers to use this macro.
Change-Id: Ia76fb5a471e4e3f03a1b4cd53c95227e6b7a815c
CRs-Fixed: 975414
The ENTER_DEV macro was introduced to log both the function and device
name when a function is entered. Update all control plane netdev
methods to use this macro.
Change-Id: Id73214481616eb34cc40f125ea7fb756b3097dc7
CRs-Fixed: 938146
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_trace.c to use the unified set of APIs.
Change-Id: I41f40000031a6a7203bebfdd4fcf11cc0673a973
CRs-Fixed: 959683
Currently HDD defines an ENTER() macro which is used to log entry into
certain HDD functions. Many of the functions HDD registers with the
kernel are called with either a netdev or wdev parameter. When
logging entry into those functions it would be beneficial to log the
name of the netdev so that in subsequent log analysis we not only know
which functions were called but also know which device was being used.
Introduce a new ENTER_DEV() macro for this purpose which will log both
the function name and the device name.
Change-Id: I32ef2bcc958b8148e6d439b30b21102be144a327
CRs-Fixed: 938146
Fix the reason code used during Nss update request. If
there is MCC upgrade or DBS downgrade, the hw mode change
request internally send the Nss update request. But, the
current implementation uses the same fixed reason code
during Nss update request and due to this on receiving the
hw mode change response, the expected callback function is
not getting invoked. Fix this by passing the right reason
code during Nss update request.
CRs-Fixed: 978663
Change-Id: I706cb9a86d66d8601ec87f560459604e562f6037
Ensure that the session id is sanitized before issuing
the scan request. During the transient stages of a new
interface when no session exists for that interface and
if a scan is received for that particular interface, it
would result in scan with invalid vdev id. Validate the
session id to avoid the same.
Change-Id: Ib22262493a141491d1d86ae682b14113d303685d
CRs-Fixed: 973773
Fix the incorrect value of receive spatial streams added for use
in operating mode field. The Operating Mode field is present in
the Operating Mode Notification frame and Operating Mode
Notification element. These are used to notify STAs that the
transmitting STA is changing its operating channel width, the
maximum number of spatial streams it can receive, or both.
As per the 802.11ac spec:
- If the Rx NSS Type subfield is 0, indicates the maximum number
of spatial streams that the STA can receive.
- If the Rx NSS Type subfield is 1, indicates the maximum number of
spatial streams that the STA can receive as a beamformee in an SU
PPDU using a beamforming steering matrix derived from a VHT
Compressed Beamforming report with Feedback Type subfield
indicating MU in the corresponding VHT Compressed Beamforming
frame sent by the STA.
Set to 0 for Nss = 1
Set to 1 for Nss = 2
...
Set to 7 for Nss = 8
Change-Id: I60cb7259df3986c0356666a357b8a4ef575b7ca4
CRs-Fixed: 973411
Move cdf/cds module related operation from
lim_handle_hw_mode_change_on_csa to cdf_handle_hw_mode_change_on_csa
to keep majority of cdf/cds operation in one place.
Change-Id: I5af9ee941f8430be49cf2e467f9eac77dc09dde4
CRs-Fixed: 972184
Set the hw mode, if needed, during channel switch in STA and
P2P-CLI scenario. The STA/P2P-CLI on receiving the channel change
event may need to do a hw mode change to get the best out of the
hw capabilities.
e.g.1, In a STA+SAP concurrency, the STA and SAP are doing SCC on
channel 6. When the STA interface receives a channel event for
channel 36, it is better the driver moves to a DBS scenario.
e.g.2, In a STA+SAP concurrency, the STA is on channel 6 and the
SAP is on channel 36. When the STA interface receives a channel
event for channel 36, it is better the driver moves from a DBS
scenario to a SCC scenario.
For MCC upgrade, the following steps are taken
1. Opportunistic timer is started
2. vdev restart is initiated on the new channel
3. PM will check if MCC upgrade can be done on timer expiry
For DBS downgrade, the following steps are taken
1. PM will initiate HW mode change to DBS right away
2. vdev restart is initiated on the new channel
Change-Id: I202842bf28c3117e8cc91954cdfd3b39a0062f4e
CRs-Fixed: 972184
qcacld-2.0 to qcacld-3.0 propagation
When self recovery initiated, CRASH_INJECT command is sent to
firmware. If firmware crash doesn't reach the host in time then
RuntimePM may kick in and try to suspend the PCIe link. At this
time, firmware might already been crashed just that host missed
the interrupt. Add the logic to prevent the Runtime suspend when
initiating the recovery so that host driver doesn't attempt the
suspend which may not go through and cause stability issues.
Change-Id: Ie8d5fc6aa08e4864fa5f03119c25037f5aeb5cec
CRs-fixed: 924538
qcacld-2.0 to qcacld-3.0 propagation.
Merge extended capability coming from hostapd and remove it from
extra IE before sending beacon/probe response template to firmware.
Change-Id: Iae50bbf1f70fd280f3366a89e58ad8f2c729720c
CRs-Fixed: 943078
Fix double free of delete sta params by adding appropriate
check in wma_delete_sta.
If the synchronization feature is enabled, memory will be freed
in the wma_peer_delete_handler else memory will be free in
wma_delete_sta.
Change-Id: I40e664f10766faa8a20e9089f1c6b95d490b8658
CRs-Fixed: 971280
Add data length information in oem data response messages. Currently
maximum response size is passed to upper layers.
Change-Id: Id74d44e03755af9a5402e5409ee5f6b5e7abbb7c
CRs-Fixed: 942260
Conditional compilation option WLAN_FEATURE_VOWIFI_11R is always
defined in cld3.0 and underlying code is permanent in the driver.
Hence, remove #ifdef WLAN_FEATURE_VOWIFI_11R check from WMA source
code.
Remove -DWLAN_FEATURE_VOWIFI_11R compilation flag from Kbuild.
CRs-Fixed: 960105
Change-Id: Idbcea2faf9aa31ef62920ef322d6de61378198a6
WoW periodic transmit pattern handler has no error log if
given input format is wrong. Add error log message to indicate
input is wrong and suggest the correct input format.
Change-Id: Ie3a37c7e1a9b9fd8a974c68a5cc7456b1b622168
CRs-Fixed: 973006
Currently WoW debug fs support is limited to 1st interface.
FW supports wow and periodic pattern generation on all
interface types. Extend wow debug fs support to all interfaces.
Change-Id: I83deb1845f921ecf8c5422786e025a051ee3c561
CRs-Fixed: 973003
The self MAC address should be filled from the previous
session in PE and has to be passed to WMA which is used
while creating the new PEER.
CRs-Fixed: 973463
Change-Id: If7f0d4d8400fd8dfcafb08e3795e434621b67a6d
Log the improtant messages with respect to roam synch propagation
by default so that they appear in the kernel logs and give an
hint of roaming. Also ensure not to log too much.
CRs-Fixed: 972498
Change-Id: Ia0bd7c9960a29275f872a9ec18173b8c5a08539a
If roaming is in progress, then there is a good chance to connect
to a better AP very soon, so ignore the sta kickout event that is
received from the firmware.
CRs-Fixed: 947880
Change-Id: I9197ed09a40d9acb706d1bfa535a4eb292a1af74
Do not include replay counter attribute when roaming
is done for CCKM authentication type. For 11R and CCKM
roaming, the re-association frame carries additional
IE's which help cut down the Key exchange post
association. Hence there would be no EAPOL exchange
and hence it is not needed to include the replay
counter attribute to the supplicant after roaming.
CRs-Fixed: 972486
Change-Id: Ib861bdc91e949605788a19df4a706e6544dd4c73
The CB mode could get changed after roaming since the non-AP STA
can roam to an AP which has a different channel bonding mode.
So, derive the CB mode from the IE's and accordingly set in the
connected profile.
CRs-Fixed: 972479
Change-Id: I01daa88d69397fb0e88615656903c43ed623ed38
Current code is using seperate change interface for IBSS and
STA/P2PCLI.
Fix the API such that IBSS/STA/P2PCLI all can use same API.
Change-Id: I7a1d9fa3ef42091fcb7f71d95b604e3dceb8da50
CRs-Fixed: 973626
wma_recreate_ibss_vdev_and_bss_peer is obsoleted API and no longer
needed. Remove this API as part of clean-up efforts.
Change-Id: I277e775b7f44ca5aa05129d45e80c98fe1a53753
CRs-Fixed: 973626
Remove #ifdef WLAN_FEATURE_VOWIFI from host driver source code.
It has alwasys been defined in Kbuild and underlying features
will be permanent in cld3.0. Those features are 11r radio
resource measurement, beacon report, link report, neighbor
report and power constraint.
Please note that WLAN_FEATURE_VOWIFI_11R is used for different
purpose and it is not removed in this change.
CRs-Fixed: 958729
Change-Id: Icd80e9cce08c4662e86ccda94491c1fc22c5756d
Conditional compilation option WLAN_FEATURE_VOWIFI_11R is always
defined in cld3.0 and underlying code is permanent in the driver.
Hence, remove #ifdef WLAN_FEATURE_VOWIFI_11R check from MAC source
code.
CRs-Fixed: 960105
Change-Id: Iae95c169c7e78310d18cbf9ae097501d4c66230c
This patch fixes:
1) Fixes variable names as per linux kernel coding guidelines.
2) Removes PELOG definitions.
3) Fixes few of long debug prints.
4) Fixes function headers
for file lim_process_assoc_req_frame.c. This patch is then used as
base for reindentation of function lim_process_assoc_req_frame()
Change-Id: I5d4a39356b4555789ca9119f54a54766594b26c3
CRs-Fixed: 824222
Log the channel switch and extended channel switch information
element along with the wide channel bandwidth sub element to
debug any channel switch related issues. Since the IEs are
populated only during channel switch, this logging of the IEs
from the beacon should not have any impact in performance.
Change-Id: I7a7e0dcf45f39fb6e4d049dde0b02289bde1d4f7
CRs-Fixed: 972007
Ensure that the PE session is extracted using the SME session id during
Nss update request. The Nss update request carries the SME session id
and not the PE session id. Fixing the implementation by invoking
pe_find_session_by_sme_session_id() to extract the PE session entry
using the SME session id, instead of pe_find_session_by_session_id()
which uses the PE session id.
Change-Id: If388fa917635c7a536d21fcfb664b081babd5c2a
CRs-Fixed: 970802
Update the policy manager table during channel switch in case of
STA/CLI/SAP/P2P-GO mode. The vdev (re)start response carries the
updated vdev parameters such as the new MAC to which the vdev
connection moved to etc.
Change-Id: I55a56acdba8234e09d1439698b2b13751d4e9b2d
CRs-Fixed: 970794
Ensure that application triggered channel switch impacts only the
interface of interest. eSAP_DFS_CHNL_SWITCH_ANNOUNCEMENT_START
gets used for both radar detected channel switch and application
triggered channel switch using ioctl or nl commands. On radar
detected channel switch, if radar was detected by one of the SAP
interface, all SAP interfaces in the driver would vacate the
channel. In application triggered channel switch, only the
interface of interest should vacate the channel.
Change-Id: I8eee8bde89ae44eec31c1bd35a99a78e517b4a5e
CRs-Fixed: 969323
qcacld-2.0 to qcacld-3.0 propagation
When runtime suspend fails because of wma_suspend_req() not
completing in time, PM runtime workqueue posts resume request to
MC thread to clean-up. If MC thread is busy or slow in processing
resume request and after the timeout Runtime PM framework posts
another suspend request then there may be race condition between
MC thread processing resume request (Or even suspend request) and
Runtime PM workqueue posting subsequent suspend request.
Synchronize subsequent suspend request by not allowing the
runtime suspend till resume requests completes in MC thread
context.
Change-Id: Ie9aaf72fbced41f8d23640b9032a3c2236dc6826
CRs-fixed: 921373
WoW is getting enabled even in disconnected state when
PNO, EXT_SCAN or LPASS is not enabled. Enable wow only
when one of interface is in beaconing mode, connected
state or PNO/EXT_SCAN/LPASS is enabled.
Change-Id: I30226700844c9b4adbe3a0659a270b99dc6e66f8
CRs-Fixed: 971738
Ensure that the per vdev rx callback is registered before
registering the peer. The peer registration function may
try to flush the rx frames so we need to ensure that the rx
callback is registered before it is called.
Change-Id: Ibd1d73d89105bbc3f9d29fa2c64e9f515d4b0da5
CRs-Fixed: 1000834
Incremental CLD3.1 Release 5.1.0.1G after relocating
the driver development to new branch and path.
Change-Id: Ib75f16fb56ab6a9306f09377bb3df2094d0fc516
CRs-Fixed: 688141
Incremental CLD3.1 Release 5.1.0.1F after relocating
the driver development to new branch and path.
Change-Id: Ic34b6e6f810f1ab32eaefe0b624b4183b86a43cf
CRs-Fixed: 688141