Redefine dfs filter type to avoid prealloc problem by making one
large chunk into multiple smaller chunks.
With current data structure, dfs attach was requesting huge chunk
of memory from the heap which results in failure. This change set
fixes the issue by modifying the data structure so that one
large chunk is made as multiple smaller chunks.
Change-Id: If944747de63a68d55a83b8595d0a07dd05f53dbe
CRs-Fixed: 975903
qcacld-2.0 to qcacld-3.0 propagation.
Fix incorrect flag setting while sending peer assoc command.
This change set will add a check before setting 40MHZ support bit
and shortGI support bit in the peer flags. If the peer is not HT
capable, these flags should not be set.
Change-Id: I89d43bd86b97637b291dc871aaf7e2a3269df853
CRs-Fixed: 974242
If CONFIG_WLAN_FEATURE_LPSS flag is not enabled, there will be
compilation errors due to missing definitions. Fix them by moving
inline funtions to the corresponding header file.
Change-Id: I90b55daeb0068b2ab40fbb27d650a5382681705c
CRs-fixed: 979523
Re-write part of regulatory code to make more readable.
Rename variables to more intuitive names. Also simplify the
logic.
Change-Id: I4ab896d18a6b5f6e2f9c84884268e2af2077f74b
CRs-Fixed: 856727
40 mhz channel array is redundant and does not give the
correct channel bonding information. Therefore remove
these channels, bonding array, and its associated usage.
Change-Id: I913fb97cdc913b1a027d21b0df526dfd5cd5902f
CRs-Fixed: 856727
Re-arrange core regulatory code between HDD and CDS
layers. Move the OS dependent code to HDD.
Change-Id: I8ac26a48d0e8d613b2f6c23fd764e5cf94365c39
CRs-Fixed: 856727
hdd_indicate_mgmt_frame is defined under CONFIG_CNSS feature flag
which is not defined for MSM8998 SNOC target. Fix this compilation
error by taking out definition of hdd_indicate_mgmt_frame from
CONFIG_CNSS feature flag.
Change-Id: I4b2de5d947ff4fdd21032d6b7e3d5fe4e9eb3eec
CRs-Fixed: 978800
Derive peer from sta id in ol_rx_data_cb to
make sure that peer is still valid before
using peer to avoid NULL pointer dereference
Change-Id: I8f9219d4c6ffbfb207385b08bc704cc0f86a1e1b
CRs-Fixed: 962949
qcacld-2.0 to qcacld-3.0 propagation
Ignore the ack timeout in case of load/unload, as FW is anyways going to
get reset. This handles the CDF_BUG assertion when FW crashed during
driver unload and wma_suspend_target fails to receive ACK for pdev
suspend.
Change-Id: I0883c5161c6db18cf7af2b0c0ca23573ecd985ba
CRs-Fixed: 911696
qcacld-2.0 to qcacld-3.0 propagation
In High dense environment roaming should be triggered early
at dense RSSI threshold which provide better throughput result.
Add support for dense roaming parameters to read from ini file
and send to FW with other roaming parameters
CRs-Fixed: 953579
Change-Id: Ia63bfdd1248b4507d988b019f07164a7c75566af
FW can enter into suspend mode even if the BMPS is not enabled.
Hence the auto PS timer check is not required in suspend request.
Change-Id: Ic2b774cea10516ea0b23141922ba1e16aa33f395
CRs-Fixed: 974918
Fix memory leak in dfs module by removing check for the board id.
During dfs_attach dfs_hw_bd_id was zero, so memory was allocated for
pulses_ext_seg but in wma registration process correct board was
updated. In dfs_detach while freeing the memory we check for the
board id and we leaked the memory for pulses_ext_seg.
Change-Id: Ica9719cc4cd67e895fad850c59c753d39473f46d
CRs-Fixed: 974299
Fix the timeout handler to handle add bss request timeout.
wma_hold_req_timer is not defined to handle WMA_ADD_BSS_REQ. When
WMA_ADD_BSS_REQ times out, no response is sent back to SME which
results in SME command queue stuck. This change set will enable
wma_hold_req_timer to handle add bss request timeout.
Change-Id: I55ec44acafc3af717458134340075b55bca7cddf
CRs-Fixed: 975400
Fix the error in populating oem data capabilities by fixing
incorrect conditional logic.
populate_oem_data_cap API returns zero on success and that
was misinterpreted as failure in the caller. Caller returns
without doing proper assignment.
Change-Id: I579106cb62c08622e8e5ab933747faf671a1d5cd
CRs-Fixed: 975352
Commit: b51f3be ("cfg80211: change bandwidth reporting to explicit field")
Above commit clean up the rate flag and bandwidth info and is merged since
Kernel 4.0.
Remove bandwidth info from rate_info flag, and use a separate bw field
instead.
Change-Id: I655ed919f1069cc04ed71ee1f3d457e228734d33
CRs-fixed: 966065
Commit: 3b06d27 ("cfg80211: Add multiple scan plans for scheduled scan")
Above commit introduces the scan_plan to include the interval parameters,
to support configuring multiple sched scan, and is merged since Kernel 4.4.
Change-Id: I9e232cfd6f82408fb2e21bef905b6e044951089d
CRs-fixed: 966054
Commit: 80279fb ("cfg80211: properly send NL80211_ATTR_DISCONNECTED_BY_AP
in disconnect")
Above commit is merged in Kernel 4.2, it introduces the new parameter
to indicate if the disconnect event is generated locally.
Change-Id: I016df3b400f5f4b8447676882df79fab6915a8f5
CRs-fixed: 966069
Commit: 89c771e ("cfg80211: Convert del_station() callback to
use a param struct")
Commit: 9885686 ("cfg80211: Specify frame and reason code for
NL80211_CMD_DEL_STATION")
These two commits have been merged in Kernel 3.19.
Add a kernel version macro to support this.
And refactor the inclusion of CFG80211_DEL_STA_V2 by adding a
helper function to clean it up, that way we can keep the flag
only in wlan_hdd_cfg80211.h/c as this is the cfg80211 interface
related changes.
Change-Id: I811065b7fa1cf2aee68cfe63c5cf78c2270e5af7
CRs-fixed: 963651
Commit: 319090bf ("cfg80211: remove enum station_info_flags")
The station_info_flags is removed from cfg80211.h since Kernel 4.0.
Since they're duplicate information that's already in nl80211 attributes.
One more small change needed:
* remove STATION_INFO_ASSOC_REQ_IES, nl80211 interface use the length
(assoc_req_ies_len) to check the existence
Change-Id: I9ed324c097ac300c7233f439d71540176744e425
CRs-fixed: 961351
This is qcacld-2.0 to qcacld-3.0 propagation
If cfg80211_mgmt_tx_params.offchan is set, driver need not send ROC
if device is already on correct channel. Check current home channel
of associated adapter and if it is same as target channel requested
skip ROC request and directly send frame over the air.
Change-Id: Ib13a885437a4349702e1706b3a466af262813f8a
CRs-Fixed: 921117
This is qcacld-2.0 to qcacld-3.0 propagation
Fix memory leak at driver unload by freeing memory for lim preauth
timers.
Change-Id: I7be177e6c475a8f8fdc4cc7d2744e34a4bf5dbf5
CRs-Fixed: 960617
Add VENDOR subcmd to support changing of Fine Time Measurement
capability
dynamically. This command can be used by user space application to
change
FTM capability. FTM capability set by user space is intersected with
capability set by firmware to compute new capability value.
Change-Id: I5f3a57e66f2c6a9f3fa8acc7e9da8cb23cb766e3
CRs-Fixed: 968594
This patch fixes multi-level indentation for function
lim_fill_assoc_ind_wapi_info()
Change-Id: I438309425a82bb76c4c31d463b6cead7c661e27b
CRs-Fixed: 824222
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
Core datapath structures should be opaque to non-datapath modules,
remove the references to them.
Change-Id: I3618253566a971c27f16b14923d1ff8028718918
CRs-Fixed: 994638
Changes to register a per vdev tx callback function.
Register a per-vdev transmit function during vdev registration.
The OS interface (HDD) adapter stores this transmit function and
invokes it to transmit data frames.
Change-Id: I1dfe6f58d1d26069dadc2d719fff242c29071bad
CRs-Fixed: 994638
Changes to register a per vdev rx callback function.
Register a per-vdev receive callback function using the vdev registration
API provided by the converged data path API. The changes include
- removing the older method of registering the receive callback
- modify the HDD callback to adhere to the rx callback function defined
by the converged data path API
- modify the invocation of the callback function in the data path
Change-Id: I2aef905132af4b3d7db22c7ec315d114607c9383
CRs-Fixed: 994638
Change the data path and external modules to use the new
converged common data path APIs.
Change-Id: Ifb48178efd012b6ad9ea6f6d5230d0a809922b1c
CRs-Fixed: 994638
Incremental CLD3.1 Release 5.1.0.1E after relocating
the driver development to new branch and path.
Change-Id: I49934210bb4c92f7cf9d700845812e49615af6da
CRs-Fixed: 688141
Add runtime pm enable and delay ini items in hdd.
If runtime pm isn't enabled, the wlan driver will
not perform runtime suspends.
If runtime pm is enabled, the wlan driver will
perform a runtime suspend after delay time in
miliseconds.
Change-Id: I7fa05b9fc1e81bd189e8336efcb3d2977732ed81
CRs-Fixed: 935300
In data path per packet logging is overwriting previous useful
logs. Use HDD data module ID for WMM per packet logging with
debug log level such that by defualt per packet WMM debug log
messages are not logged.
Change-Id: I64053a6d5048a14277e01f35fcb6e0bbf6ac42b9
CRs-Fixed: 969712
Incremental CLD3.1 Release 5.1.0.1D after relocating
the driver development to new branch and path.
Change-Id: Ifc161a74d121e11e9e21c3f2006889de8a5c71b8
CRs-Fixed: 688141
Rename hif_callbacks to hif_driver_state_callbacks and remove
function pointer for monotonic API and fix some minor typos.
Change-Id: Iae2326e26b58a00e4cc197104b31aca36d569a8e
CRs-Fixed: 967765
Incremental CLD3.1 Release 5.1.0.1C after relocating
the driver development to new branch and path.
Change-Id: Icef0cc257781d8baf5f9684ffc08d6808a9bf4d4
CRs-Fixed: 688141
Move tlv formation of wmi vdev start, vdev restart related commands
to common wmi layer from wma layer.
Change-Id: Ic01c9720fd73cb47ea24313c947d6c2a03dbaea4
CRs-Fixed: 987362
Move tlv formation of wmi roam scan commands to common wmi
layer from wma layer.
Change-Id: Iee92f71c6ae7470449f514f60a804a9cf021ccf0
CRs-Fixed: 987362
Move tlv formation of wmi feature related commands to common wmi
layer from wma layer.
Change-Id: Ice267f5fc2b057c0c5e288888c57886a1c61006e
CRs-Fixed: 987362
Move tlv formation of wmi datapath related commands to common wmi
layer from wma layer.
Change-Id: I5f7bf9eb578d0777e131b2b659e64d9365f4faec
CRs-Fixed: 987362
Move tlv formation of wmi peer assoc command to common wmi layer
from wma layer.
CRs-Fixed: 976998
Change-Id: I0562862a7acc16b88bbd295b998397f1acf7973a
Move tlv formation of wmi init and wmi main commands to common wmi
layer from wma layer. Move diag events logs list and saved wmi
init command to wmi handle from of wma handle.
Change-Id: Ie58e10408ea52952021c22f63dd9f3c499e63e74
CRs-Fixed: 976998
Move tlv formation of wmi scan roaming commands to common wmi
layer from wma layer.
Change-Id: I6786ce42d99d6a3f29561c24dea7e3018fb0f3e9
CRs-Fixed: 976998
Move tlv formation of wmi link layer stats commands to common wmi
layer from wma layer.
Change-Id: I58831f16802dc3ca307145654196b7c9238a5e8c
CRs-Fixed: 976998
Move tlv formation of wmi feature based commands to common wmi
layer from wma layer.
Change-Id: I2cda92c377faf16b09412f0dc746e537343242ff
CRs-Fixed: 976998
Move tlv formation of wmi power commands, management over wmi commands
to common wmi layer from wma layer.
Change-Id: If6be3f786edbad931e2f3af05b45103456b8229b
CRs-Fixed: 976998
Move tlv formation of update channel list wmi command to common
wmi layer from wma layer.
Change-Id: I6f368d749a947e284d59fc394a8ecf657d916739
CRs-Fixed: 976998
Move tlv formation of beacon template command to common
wmi layer from wma layer.
Change-Id: Ibca8441b4a8c5bed7aeedd1c6421415711b662a0
CRs-Fixed: 976998
Incremental CLD3.1 Release 5.1.0.1B after relocating
the driver development to new branch and path.
Change-Id: Ibd2f045e31475458225ec43c38186074c640c8b1
CRs-Fixed: 688141
Modify wmi layer API calls with respect to new common wmi layer.
Register all wmi service events using standard wmi event register API.
Remove TLV formation of common API from wma layer.
Pass rx scheduling context of wmi events during event registration.
CRs-Fixed: 976998
Change-Id: Id490db96c28778ec371dd633d43dfa002c08c16a
qcacld-2.0 to qcacld-3.0 propagation.
Rename enumeration associated with scan types.
WMI interface files shared between host and Firmware have
the same macro defined resulting in compilaiton issue. Hence
renaming these enumeration with LIM prefix.
Change-Id: Ia196b8e4bb582490a9f957b8cdf1e3a12c4fbde0
CRs-Fixed: 981355
Replace mac_id with pdev_id, add vdev_id to peer commands/events
and change reserved0 to pdev_id in PDEV commands
Change-Id: Id112e0eb6262739a1fd1767150d29cc5bd59955b
CRs-Fixed: 865207
WMI handle changes to incorporate ini changes to enable/disable collection of MIB stats
WMI interface change for scan suspend
Change-Id: Icdcca16827af85e6b694dcd7ad0be2b4d0d8ac45
CRs-fixed: 865207
Added One tuple control flag bit WMI_FLAGS_IS_IPV6_ANYCAST and
added one parameter 'num_ns_ext_tuples_cfg' in wmi_resource_config
RTT definitions updated
Add wmi interface for MBO(MultiBand Operation) feature.
Change-Id: If698fc104e9ac39d6b58c88a542a30c2ba59d52b
CRs-fixed: 865207
The target defs need to be protected by a chip specific flag if
at all. A bus flag is too generic.
Change-Id: I631b9686b69dcba0a47bf10bccf7f94ac3a4bd9c
CRs-Fixed: 986480
Reduce the api footprint of hif and make hif responsible for controlling
its own timer as part of suspend resume.
Change-Id: Ifdcc95f65cd56e5987d961c01c4e35a9a93787f7
CRs-Fixed: 986480
These are pci specific power management features. These should
be consolidated instead of littering bus agnostic code.
Change-Id: I366f1d14ab04368d77a144bebaeb038c1469abed
CRs-Fixed: 986480
Need to support SNOC and PCI dynamically.
Core BSP code is responsible for SNOC firmware
loading and crash dumps.
Change-Id: Ia16076809f2b74be6f32ad5015b79b1fe2c13ca3
CRs-Fixed: 986480
hif_device_id type is a opaque pointer that abstracts out
some of the pci data structures.
Change-Id: Ib472490b9de26cae291f86fd0e3c05af40e6951e
CRs-Fixed: 986480
Praprogation from qcacld-3.0 to qcacld-3.1.
Change skb->sb such that it is overlayed between tx
and rx and each one of then still fits 48 bytes.
Note that this will break IPA and it will be fixed
subsequently by another change.
Change-Id: I96168aee99dbdbecbdbd4259597e179b02d29f5d
CRs-Fixed: 881090
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
propagation from qcacld-3.0 to qcacld-3.1
Changes for TSO clean-up to address:
- conditional compile within function bodies
- change function return value
- convert macro to static inline function, etc
- Enable TSO for SAP mode
Change-Id: I29e764f64f7866d4c016ac31cd701c54526cc75d
CRs-Fixed: 881090
Remove CDS instances in HIF for WIN/MCL convergence.
a. Update con_mode param in HIF
b. Have callbacks to CDS from HIF to update CDS global context
Change-Id: Ie9a65b5684f38bb2bf4feac615b97415e2bc7ed9
CRs-Fixed: 967765
BMI info is needed during BMI Phase. The structure holds
the physical address and virtual address of Command and response
of BMI buffer.
Change-Id: I97e8dad2ccba1352677cdf37e2f62204128d4b06
CRs-Fixed: 967765
Targetdef is needed during BMI phase of PLL switching.
Move this member to ol_context.
Change-Id: Ibd7d9a916d9e61c1f7c13d4e18d018add94a6fa3
CRs-Fixed: 967765
Initialize Ramdump Work as member of ol_context instead of
global work. Pass ol_context as private data to host to target
module.
Change-Id: I97712f40c4bfcd7d854e2a89727d73fd7178598c
CRs-Fixed: 967765
Remove ol_softc as argument in BMI API's and pass ol_context
as the default argument.
Change-Id: I66b5daed047c7efe9a01cac30d2d0e7427aab2cd
CRs-Fixed: 967765
Create bmi context in global cds context for BMI operations.
Modify HIF BMI API to pass dma command and response
Pass BMI DMA Command and Response address to HIF BMI API as
arguments instead of using bmi context in HIF.
Change-Id: Ifdb51581a33665b1857c63e33b1c26bbd99575eb
CRs-Fixed: 967765
Max_peers configuration is needed only by WMA. Remove dependency of
ol layer for max_peers and move it WMA.
Change-Id: I336b02ae84c72c70ca459425b38b197e5fe551a0
CRs-Fixed: 967765
aps_osdev/NIC_DEV is not needed in cld driver. Remove it's
reference in BMI and pktlog code. Use global cdf_device context for
memory allocations in BMI and pktlog files.
Initialize cdf_device global structure in HDD.
Change-Id: Idf257e196f86b8f0aae669ce05950a1212e5fd99
CRs-Fixed: 967765
Carve out hif_softc for internal hif usage.
ol_softc acts a opaque handle to other modules.
Change-Id: I2f29aea93b0a64169a3e095e1d5bddca15aadbd7
CRs-Fixed: 967765
Data Path bypasses HTC layer for better throughput's.
Instead of dereferencing HIF structures, query HIF for fastpath
mode support
Change-Id: Iad2ae907e2d5345a71f5b64bd29f81dde4358460
CRs-Fixed: 967765
Refactor Transport Layer from cds_get_context and pass the hif context
to all the API's to operate.
Change-Id: I2fb376fda12951a77007f46ceb351bb2e7740ace
CRs-Fixed: 967765
Group BMI members and access bmi info from hif instead of
dereferencing hif context.
Change-Id: I9108ec1b719ec3e62dd19cc3341cbc1c868bf5de
CRs-Fixed: 967765
Ramdump collection can be supported by buses other than PCIe, hence
move it to main files so other buses can also access those API's.
PKTLOG is a DataPath Feature, HIF doesn't need to have any info
of it. Move pktlog implementation to HTT folder.
Change-Id: I113ef9bb44438cd7a1ba70799ce7e72f2eaa7121
CRs-Fixed: 967765
Clean up driver modules to query hif for the handle, instead
of accessing hif context in other modules.
Change-Id: If179255b355916794c9097cf8ff1cbc64ba5df84
CRs-Fixed: 967765
Suspend type should be CDF_SYSTEM_SUSPEND. Host gets
stuck while trying to post runtime suspend messages.
Change-Id: I5deeba401b7bda2a057802389d620149a92fcfbc
CRs-Fixed: 970656
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 SME source
code.
CRs-Fixed: 960105
Change-Id: Ib42c92aaca69c04b98dd42b7aab2a552c88af24e
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 HDD source
code.
CRs-Fixed: 960105
Change-Id: Ifdad17f5b85148dfa4bb459939168beec4b5b1cf
Conditional compilation option of #ifdef WLAN_FEATURE_VOWIFI_11R_DEBUG
is used to enable certain roaming logs. It has always been defined,
thus these logs are enabled by default.
Remove it from all the code to always enable those logs.
CRs-Fixed: 936683
Change-Id: I23bba225ce69311d416e6d847c398840919c43aa
The condition #ifdef WLAN_FEATURE_LFR is used to include some of
the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.
Similarly code under WLAN_FEATURE_NEIGHBOR_ROAMING is permanent
part of the driver.
Remove FEATURE_WLAN_LFR and WLAN_FEATURE_NEIGHBOR_ROAMING compiler
flags from Kbuild script.
All the instances of above flags are presumed to be removed
from the driver source code prior to this change.
Remove WLAN_FEATURE_NEIGHBOR_ROAMING_DEBUG compiler flag from
Kbuild and csr_neighbor_roam.c and permanently enable roaming
debug logs.
CRs-Fixed: 936683
Change-Id: Iec251c2a4439ab3d492d9700d242aad401a0dbe0
The condition #ifdef WLAN_FEATURE_LFR is used to include some of
the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.
Remove #ifdef FEATURE_WLAN_LFR compiler flag from MAC so that the code
will always be compiled in.
CRs-Fixed: 936683
Change-Id: I6e5afb8eeb5f4f3a0bb7f7b007ffb07cbeff1adf
The condition #ifdef FEATURE_WLAN_LFR is used to include some of
the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.
Removed 2 instances of FEATURE_WLAN_LFR that were not removed
in the previous change.
CRs-Fixed: 936683
Change-Id: Ic1550cc4f15ebd835f24a1cadb7d6bd5ed45edab
Use single channel scan request for preauth operation, similar to
remain-on-channel. Remove all roaming preauth logic from WMA.
Change-Id: Ie3783306e0ff5b8a5bbcb6437e982590b03fe040
CRs-Fixed: 957094
Commmit: 6eb1813 ("cfg80211: add bss_type and privacy arguments in
cfg80211_get_bss()")
This commit update the new bss_type and privacy argument and is
merged in Kernel 4.1, so adding the Kernel version check accordingly.
Change-Id: I2bda71fc3cb2e126a1059a963f72f7a194bf9580
CRs-fixed: 963677
This CDF_TRACE macro is declared in i_cdf_trace.h and is used
when MSM_PLATFORM is not enabled.
But the inclusion is not in the cdf_nbuf.h, so that it causes
the compilation issue, while CDF_TRACE is not found.
Since this function is used on the data path, so that the warning
is not necessary for non MSM platform.
And also refactor it to avoid compile flag inside the function.
Change-Id: I061eb35f5eee21c76fd486d378e53b35c02b5636
CRs-fixed: 966754
Commit: 78d28e6 ("kill f_dentry macro")
Above commit is to remove the marco of f_dentry since Kernel 3.19.
Avoid to use the Kernel version check by using the field directly.
Change-Id: I7a4b45c62afed402d49d709bb1cb870db352b70e
CRs-fixed: 966066
hif_bus_prevent_linkdown() calls to cnss_wlan_pm_control(), which
is only defined when CONFIG_PCI_MSM is enabled, fix the conditional
compilation.
Also fix a typo of RUNTIME_PM to FEATURE_RUNTIME_PM.
Change-Id: I9d4cd65ee0020ca1b41d026c3124317ce854ea92
CRs-fixed: 966771
Set the maximum active session count to 3. All the sessions may or
may not be in connected state.
Change-Id: I3f348228fbdf787da0e4c954cb243b2252af9524
CRs-Fixed: 967911
qcacld-2.0 to qcacld-3.0 propagation
Add support to handle an error indicated by the fw in offload mode.
In this case - MIC error type.
Change-Id: I53363bdbaafad7fab0a6e067a43892a3066abbb6
CRs-Fixed: 791274
qcacld-2.0 to qcacld-3.0 propagation
Add the roaming abort command to the allowed commands
list and pass on the request to the firmware
CRs-Fixed: 943717
Change-Id: I711d3bd8629813af71e4db8659a1915ccfeaaa72
Remove direct call to CE debug routine from ol_fw
and hif main layer. Abstract the bus debug dump
register routines to respective hif-bus layer.
CRs-Fixed: 964031
Change-Id: I8b6f325f12aaa99e4f7461f9da26b7f60259c8f8
qcacld-2.0 to qcacld-3.0 propagation
print TX/RX packet count values during get_station
function call to help in debugging data path issues.
Change-Id: I0798123f96111bbadc4014f5f04193d88977a38b
CRs-Fixed: 956473
11P channels are wrongly retrieved along with other valid channels
while using csr_get_cfg_valid_channels function call.
AS per the current implementation the above function call is used
to get the valid channel used for scan and roaming scenarios. Since
11P channels are not valid in scan and roaming scenarios
csr_get_cfg_valid_channels function is updated to retrieve non 11P
valid channels.
Change-Id: I25567b2791ac776480534534e10d900c2f9a6184
CRs-Fixed: 965218
Fix memory leak in OEM data request, by freeing data buffer as message
passed down the layers is consumed in lower layers.
Change-Id: I8e8dc0c96de3055fada2c19139bc9e0c03b9e73e
CRs-Fixed: 964290
Add support to use fine timing measurement capabilities coming
from the Firmware.
Currently INI config is being used for setting initiator
and responder roles. With this change, intersection of INI
config and FW indicated capability will be used.
Change-Id: If20bc8de2b6ec12bc638b75806e2a870a5ebc189
CRs-Fixed: 942290
- Add handler for the vdev delete and peer delete response at WMA.
- As part of timeout handler, assert if the response is not
received in 3 seconds.
Change-Id: I7b20254013266414174f686e1f3918822adc65d8
CRs-fixed: 960173
eCSR_AUTH_TYPE_RSN_8021X_SHA256 is defined only when 11W feature
is enabled. The code is using the identifier
eCSR_AUTH_TYPE_RSN_8021X_SHA256 without conditional compilation.
Access eCSR_AUTH_TYPE_RSN_8021X_SHA256 under 11W feature flag.
Change-Id: I5e1e513c12cf526045991749a487ac89d1773659
CRs-Fixed: 947938
qcacld-2.0 to qcacld-3.0 propagation
"cfg80211_chandef_create" doesn't support channel width "HT80". If
create chandef by it, channel width set to HT40 when working on
SAP VHT80 mode. Which cause a mismatch between supplicant and host
driver. Update channel width and center freq for VHT80 mode
Change-Id: I9c5734fca4bcc02436aea8684ca9d0b968eb1dee
CRs-Fixed: 944618
qcacld-2.0 to qcacld-3.0 propagation
If a connect is received with previous connect already in progress,
sta connect state is moved from connecting to disconnecting and
disconnect is initiated to stop the previous connect.
If previous is present in sme/roam pending queue the disconnect
will abort the previous connect by removing the cmd from pending
queue. In this case the connect state is not moved back to
not connected from disconecting.
Thus the current connect command fails and all new connect command
will fail as the connect state will always be in disconnecting state.
To avoid this, move the connect state to not connected, once try
disconnect is issued internally.
Change-Id: Ia563f85df84cb9dbb3d3a82bc97127d39e7b1421
CRs-Fixed: 961559
The condition #ifdef WLAN_FEATURE_LFR is used to include some of
the roaming code. It has been defined for all the recent driver
builds. Roaming code underneath is permanent part of the driver.
Remove #ifdef FEATURE_WLAN_LFR compiler flag from HDD so that the code
will always be compiled in.
CRs-Fixed: 936683
Change-Id: If5010bc1470a35b2f1516a5c5d10461352fd87fc
RRM ie should not be present in association req if AP doesn't
support 11k. As a part of fix add the check to append RMM ie only
if AP support 11k.
Change-Id: I4e521dbdbdd5b083360405f26913278788c86555
CRs-Fixed: 961737
IPA callbacks need to be processed in tasklet
context in NON-SMP configuration as rx thread
is not used in NON-SMP context.
Hence Process IPA uc response in tasklet context
for NON-SMP configuration.
CRs-Fixed: 960302
Change-Id: I98d69dbdc1083f43035fe264bbee668e5efd5eee
Introduce DFS-3 support changes in DFS layer.
Add support for per segment based queuing, processing
and pattern matching of the radar events in 80+80 channel
width mode, when both segments are dfs.
Also, add support for parsing the new DFS-3 radar summary
report and extract the segment ID on which a phyerror is
seen. Report the segment ID on which the radar has been
detected to the WMA layer to add only radar detected 80MHz
segment channels to be added to NOL in 80+80 MHz channel
width mode.
Change-Id: Ib9ed2122844cef5fde2b632accc8c798e86bf7a3
CRs-Fixed: 964262
Adding support for parsing the WMI_PHYERR_EVENTID
for DFS-3 in WMA event handler. Configure the hw
board id to DFS module fetched from the wmi service
ready event.
Change-Id: I003fab790c7f46b54e5d41bcf1bbfa16f0cdc722
CRs-Fixed: 964262
qcacld-2.0 to qcacld-3.0 propagation
The sap Context related phyMode should be used
instead of the phyMode in hal. Otherwise, the incorrect
channel width will be reported to supplicant.
Change-Id: Ic0ce7861a786de5aef8b43c6aa0fde9f600b08b2
CRs-Fixed: 909668
hif_claim_device does not serve a purpose in copy engine.
The usage and implementation of hif_claim_device need to be
reexamined for sdio and usb. It should not store the device
in a ce specific data structure.
Change-Id: I0847e152ae3a1ca57d5c6937d6929918063cc362
CRs-Fixed: 967244
cds_get_context was not supporting epping. Allow epping to manage its
own global context since it is a top level module.
Change-Id: Ic5faf885c83109162be141788a5f8871a4e35cef
CRs-Fixed: 967244
Currently Tx beamformee feature is enabled only in STA mode.
Add knob to enable or disable the Tx beamformee feature in SAP
mode
Change-Id: I6ea218b3bff6c973688aad716a3f1a3c8acc469b
CRs-Fixed: 963034
Fix memory leak in case of txrx_fw_st_rst command where
we are not expecting any response from firmware.
CRs-Fixed: 964465
Change-Id: Iad91cb5557ef167d126ef68e07f02445ad7a0b97
Remove unnecessary acquiring of SME lock in sme_roam_free_connect_profile
since this function does not access any SME structures.
Change-Id: I0ddafc4276ef5028b48fda0ae3ea4e6a0c23245e
CRs-Fixed: 958839
Add new argument for mac_ctx in definition of tx_timer_create macro
so that its caller can use any local variable name for mac context.
Currently pMac is hardcoded as first param in definition of the macro
which prohibits caller of that function from using any other name.
Change-Id: Id901424ba16846eab62c00a80d48a5c85c73bea6
CRs-Fixed: 824222
In case kmalloc fail goto end of function and properly free
other possible allocated memory buffers.
Change-Id: I41d7577471b475b0a2a0daa83c6ffc845314ceb4
CRs-Fixed: 958755
Rename API cds_is_load_unload_in_progress() to
cds_is_load_or_unload_in_progress() for clarity purpose.
Change-Id: I209c661ccee760f822d5df53577d822f3c741b37
CRs-Fixed: 964217
cds_is_load_unload_in_progress is checking for both driver
load AND unload states. This is leading to all external threads
still enter in driver when driver has already started unload
clean up process. Fix this API to check either load OR unload
in progress driver states.
Change-Id: I4cd446393346bc5c085bc9a92ee68f46f1ec5097
CRs-Fixed: 964211
Driver unload is not waiting for external threads to exit
before starting clean up process. Add CDS SSR ready check
for driver unload such that driver unload waits for all
external threads to exit before cleaning up driver data
structures.
Change-Id: Ic5ac1b770dea8e470ed8dcce50a4f66451f918f1
CRs-Fixed: 964151
scan complete callback function is not
freeing scan request memory after scan completion.
Free the scan request memory after scan completion.
Change-Id: I2636e3b4576d2c86d88dc3e7684a196ed1838297
CRs-Fixed: 964244
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Fix style issues like conditional compilation with in the
function and other minor ones.
Change-Id: Iec2dc3aac934bbb90b87d4e8581e877e5b0a561c
CRs-fixed: 959287
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Create separate functions to update country code from module
parameter and initialize thermal mitigations settings in SME.
Change-Id: I84cf611347a5abadc16eeb46fed90934913e09ed
CRs-fixed: 959287
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
Make separate function to open the interfaces at probe time.
Change-Id: Ia0044f5b0d0f009950d62556e09928ac578a1d4b
CRs-fixed: 959287
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.
This is the first phase of changes to add a separate function to
allocate and initialize HDD context.
Change-Id: I35b6c95c1b09f853e83752123c44e8d21c8af50a
CRs-fixed: 959287
Remove typedef tPowerdBm. Rename and use linux style for channel
enum, channel state, channel power and country source data
structures.
Change-Id: Iebc59e6f001ccdb403c7445f4cea02c6a8141366
CRs-Fixed: 856727
Remove the 4.9 GHZ channels from the driver stack.
4.9 GHZ channels are not being used for any country,
so remove them.
Change-Id: I135f997bb4c8ad7a536596b4e89eb037f41e0c73
CRs-Fixed: 856727
FEATURE_STATICALLY_ADD_11P_CHANNELS was a temporary solution for
builds that were not defining DSRC channels in db.txt. That
restriction no more holds true. Also correct the list of DSRC
channels in function cds_is_dsrc_channel.
Change-Id: I1146ec9702a8eec801b635a276e981962dd42817
CRs-Fixed: 856727
Change regulatory data structures and APIs to linux style.
Change the references to the data structures accordingly.
Leave data structures that would be deleted in subsequent
iterations as is.
Change-Id: I68dcd3485d3fb3d98f648b5844508356c3f3c29d
CRs-Fixed: 856727
Remove the local country to regdomain mapping in the driver.
Return a fixed regdomain index 0 to the caller. Also update
copyright for cds_regdomain.h for 2015.
Change-Id: I33e0a861b0a3bd95b20becb2d765b8300688ec4c
CRs-Fixed: 856727
Fix mangled API lim_cmp_s_sid() to lim_cmp_ssid() which were
introduced while converting the names programmatically.
Change-Id: I3a6d4b8678fc815fb8c8787bd080c9188ef98f67
CRs-Fixed: 882962
Keep track of how many times supesend resume succeeds and fails
also mark last busy on a failed runtime suspend or a successful
runtime resume.
Change-Id: I04df805429e3a9ce91bc3d7f27bfd598396257c9
CRs-Fixed: 935300
HTT messages do not have a tx complete and should
have their runtime puts done when the firmware response
come. Tag messages without responses so that the
put can be done after issuing the message. Also do
runtime put in error case.
Change-Id: I7253ace95ca6bb4fa17bc6d82ec52fc598d17712
CRs-Fixed: 935300
Check runtime pm status while sending messages.
Update runtime pm when sending messages to hif.
Update runtime pm when messages are tx completed.
Change-Id: I27840f57ff87d6d27b1e3611e7fe1f2cd933ddd0
CRs-Fixed: 935300
HDD interfaces with the platform driver. Runtime suspend
is a callback registered with the platform driver. Coordinate
runtime suspend from hdd since it is both the logical entry point
and knows what other layers need to participate in a runtime suspend.
Change-Id: I80b71e504d0cd31bd5a8e47895db7e0bd233f6c3
CRs-Fixed: 935300
wma has to do some extra steps that were part of 802.11 suspend
for runtime suspend.
Change-Id: I91fbdcacd6c557f30e0d4f422324f2db67cb96dc
CRs-Fixed: 935300
hif runtime suspend resume is identical to a regular bus suspend
resume, but provide a different api just in case this changes.
Change-Id: If069df7733d6a1ebe38d356ac5bdd4e2a250118b
CRs-Fixed: 935300
Introduce an enum for use by multiple layers to suspend slightly
differently when doing a runtime suspend versus a system suspend.
Change-Id: I753bbe909e53558fe592defdca021331ec6feb88
CRs-Fixed: 935300
Runtime pm opperations will be initiated in hdd, so hdd
needs an api to updated the runtime_pm state.
Change-Id: I783fc136777a56d8ea23f8b11617ebe92641221a
CRs-Fixed: 935300
Send one suspend indication message to wma after configuring
all the offloads. Reduce context switches and complexity.
Change-Id: I020fc8864dbf7378805361d54dc6cff60b2652e5
CRs-Fixed: 935297
SME holds config item in tCsrConfigParams structure as well as some of
the same items in tSmeConfigParams which makes tCsrConfigParams super
set of tSmeConfigParams. There are high chances if somebody misses
copying item from tSmeConfigParams to tCsrConfigParams and that will
result in config item not being set correctly.
In order to make it clean and easy, merge both config structure in one.
Change-Id: I8c93d9fae0986cb90b4ed4c4712b1e2b023b4be3
CRs-Fixed: 963752
qcacld-2.0 to qcacld-3.0 propagation
Currently, if SAP supports 40Mhz, then it sends the supported
channel width as 40Mhz irrespective whether STA supports or not.
Changes done to check the STA capability for supported channel
width and send it accordingly in Assoc Resp
Change-Id: I58ca44b6998d4712521a10285b9fd2a3f825d2ed
CRs-Fixed: 728676
Signed-off-by: Krunal Soni <ksoni@qca.qualcomm.com>
WLAN_FEATURE_MBSSID flag is originally added to support MBSSID,
specifically for the MOBILE ROUTER build, and is now enabled for all
builds, there is no longer needed to have a separate feature flag,
so that removing it.
This commit cleans up the following modules - cds/mac/sap/sme.
Change-Id: I79ad9767b7945af0c567b6294ac07e7697898e9e
CRs-fixed: 958154
This is qcacld-2.0 to qcacld-3.0 propagation
Deactivate and clean up the logging thread during driver load failure and
ensure that logging thread is not enabled for FTM mode
CRs-Fixed: 961865
Change-Id: I53f85a30f52fc5715705624bf515ab5e4666db8e
This is qcacld-2.0 to qcacld-3.0 propagation
Avoid logging of all module logs into kmsg during the driver load
phase. All module log level is set much before setting of the
flag that indicates whether multicast logging is enabled or not.
Because of this all module log levels are getting printed for a
brief duration in kmsg during driver load. Fix the same by
setting the multicast flag appropriately so that when multicast
logging is enabled, all the logs are multicast to user space
and only the error and fatal messages continue to get logged in
the kmsg.
CRs-Fixed: 958705
Change-Id: I260e38ef64f704dfd9ca1ca4dc68c56428526559
qcacld-2.0 to qcacld-3.0 propogation
Previously trace logging levels are set from cfg.ini for different
modules which again over written by code. Ultimately code logging
preference was taking place.
After changes if the log level for any module is set to DEFAULT(0xffff)
then only code logging preference will be used else cfg.ini logging will be
preferred.
CRs-Fixed: 875973
Change-Id: Ia3df86908cec1d5c487d614a418721c0cd98fc52
Add new IOCTL 'CHANNEL_SWITCH' which is used to move the operating
channel of SAP/P2P-GO. This IOCTL is supported only for SAP/P2P-GO
and not for STA/P2P-GC.
E.g., format to issue command through wpa_supplicant:
DRIVER CHANNEL_SWITCH <CH> <BW>
- <CH> is channel number to move (1 for ch1, 149 for ch149 etc.)
- <BW> is bandwidth to move (20 for BW 20, 40 for BW 40 etc.)
Change-Id: Ie65f2ceb9ece04053ab32ee60f83fd09cd232f77
CRs-Fixed: 955368
Add support to include channel bandwidth as one of the inputs to
decide the channel switch parameters. Currently only the target channel
is used as the input to decide the channel switch parameters. With this
fix, user specified channel bandwidth is also taken into consideration.
Change-Id: Ic49b24edde6cabc52aa2b38110763da82da6790d
CRs-Fixed: 955368
Fix invalid operating class calculation while sending out channel switch
frames. The operating class is getting wrongly calculated using the
channel width instead of the channel offset. Fix this by calculating and
passing the channel offset parameter instead of the channel width to the
necessary function to ensure that the operating class gets calculated
correctly.
CRs-Fixed: 955414
Change-Id: I011db65e57c477e381fd471a4a930a02e2a7ee21
Remove the CB mode usage in channel bonding since the center
center frequency is calculated using channel width and channel
number.
Change-Id: Ie9685a833750bf3b69cce40c5d9587fb9b232047
CRs-Fixed: 962174
The current roam sync propagation for LFR3.0 in the host driver is
based on queuing and message processing mechanism. This can lead
to many unknown sequence of operations as there might be other
messages sitting in the queue which may interrupt with this
operation. Hence, it would be good to introduce a callback mechanism
which take care of running the code to execution completely in case
of roam synch propagation.
It also improves to reduce the roam delay by 50 percent as compared
to the existing mechanism.
CRs-Fixed: 962290
Change-Id: I4af569b1e3020a64beb606e8bbffd7613775138f
qcacld-2.0 to qcacld-3.0 propagation
During SSR, since VDEV detach won't happen, some contexts saved in VDEV
may not get a chance to be freed. Add change to check these contexts
in SSR shutdown routine to make sure they are freed.
Change-Id: I36d12b3bb524ca107ece2441c1dc1d80293cb31b
CRs-fixed: 957587
qcacld-2.0 to qcacld-3.0 propagation
Currently only one level of information (file name and line number of
the caller who wants to allocate memory) is saved when each memory is
allocated. This may not be able to provide enough information for some
cases that multiple levels of callers are the same. Hence save call stack
as well for each memory allocation in SLUB builds for debug purpose.
Change-Id: I245d53ec3805217ca34d7c1f5e31b84cac73e395
CRs-fixed: 930557
pRoamInfo is not initialized in cds_force_sap_on_scc function.
This is resulting in build failure when FEATURE_WLAN_FORCE_SAP_SCC
flag is enabled. Modify cds_force_sap_on_scc function to fix the same.
CRs-Fixed: 953618
Change-Id: I136d33f108dab19c236c7bf1aadf7608c0673baf
sched_scan_lock and connection_status_lock's are using spin lock
APIs directly from kernel. Change to use CDF APIs for spin lock.
Change-Id: I0f56624df34682150b402fc36b9dfdba36a598f3
CRs-fixed: 959287
If DBS hwmode is not available from FW, return accrodingly in
wma_get_hw_mode_from_idx.
Change-Id: I603edd8a49bfd584300dcfc21c2b3c8c4c3c1892
CRs-Fixed: 934012
wma_suspend_req is rewritten in changes
I020fc8864dbf7378805361d54dc6cff60b2652e5
and I95876979652ab16976f23561038c877cee4c930a
Revert "qcacld-3.0: Fix the PNO WoW is not configured in concurrency case"
This reverts commit 3bf7846a5ee12e0641f90b9ff05a80a068cde777.
Revert "qcacld-3.0: Cleanup WOW_NLO_SCAN_COMPLETE_EVENT"
This reverts commit 8098644b8cbf89f23442c5bef02f186460cd9f8f.
Revert "qcacld-3.0: Find extscan_in_progress irrespective of connected or pno"
This reverts commit 7bb7f564b75965bfbf09fef6b5406aaa19c245a7.
Change-Id: If0953ad7ca8d7224c87f026e77d1a3f256c4f124
CRs-Fixed: 935297
The api is clearer without the abreviation. The api is
cleaner without an unused cdf_handle. Also remove
unnecessary cdf_schedule_work api. cdf_create_work
is also cleaner without cdf_handle.
Change-Id: Id8c32596a92184d6768e2bc3210c308b44da2a57
CRs-Fixed: 935297
Hif needs to guarantee that it frees the buffers that it doesn't
pass to upper layers.
Change-Id: I816d0a1b19a5a0c00e9669c18dfdf427c102c911
CRs-Fixed: 958124
This flag supports depricated emulation hardware.
Remove conditionally compiled code and dummy functions
that become unused as a result.
Change-Id: Ie21df7e39b196109acfb6b41afc6b8c22fecb822
CRs-Fixed: 958120
On M2M emulation platform we have a fixed mapping between macs, hence
vdev transition & MCC support is not possible on this platform. But MPR
platform doesn't have these limitations. This config allows at runtime
enable/disable vdev transition & MCC support depending on the platform
it is running on.
Change-Id: I17a92dce695ee30f7994f040d4bc612a38680f3e
CRs-fixed: 922181
qcacld-2.0 to qcacld-3.0 propagation
If ADDTS response timer is fired because of not receiving ADDTS RSP
within time then this timer handler posts SIR_LIM_ADDTS_RSP_TIMEOUT
command to LIM. But if deferring is enabled(say due to processing any
action frame) then SIR_LIM_ADDTS_RSP_TIMEOUT command will be added to
defer queue and as gLimAddtsSent is set to TRUE, including this
command all other defer commands will never be processed. This may
lead to active command timeout.
Hence process SIR_LIM_ADDTS_RSP_TIMEOUT command in defer state.
Change-Id: I48f09a7fd560702ac7701e0a1a41c77ad94626d4
CRs-Fixed: 919490
Fix compilation issues on MSM8998 RUMI platform caused by
CONFIG_CNSS not being defined and un-initialized local variable usage.
Change-Id: Iaf8bec493a42ec9fd09e1b2b6aa085be8de4bc8a
CRs-Fixed: 959249
qcacld-2.0 to qcacld-3.0 propagation
-In case CSR is already connected and it receives connect with the
same profile, csr will silently return and try to send the connect
success to HDD. But if roamInfo staId is 0 this roam command is not
removed from sme active list and leads to active list timeout.
This back to back connect to CSR can happen if HDD and CSR go out
of sync and is taken care already.
-Also if disconnect is received in case scan for ssid is in progress
it will be dropped and roam session state is set to disconnecting.
But this roam session state is not reset for the fresh connection
and thus if next connect also issue scan for ssid the connect
command will be dropped assuming disconnect is in progress.
This change removes roam cmd from sme active list in case of
above failure and resets roam session state for fresh connections.
Also does some cleanup in HDD disconnect command.
Change-Id: I222626f1da6bdad83a5264668dde9aafd3dda149
CRs-Fixed: 953196
qcacld-2.0 to qcacld-3.0 propagation
If connect is received with previous connect in progress, driver
doesn't abort the previous connect and process the new connect.
In csr if new connect is for same profile, sme directly indicate
connection success to hdd and thus hdd increment the active
session count twice for both connect.
Now if one more connect is received it will try to disconnect the
previous connection and decrements the active session count.
So the count is 1 though no session is active.
Eventually if same scenario happens again the active session
count will become 2 with no active session. As max active session
limit is 2, no more connect is accepted.
To avoid this, if fresh connect is received and previous connect is
in progress abort the previous connect.
CRs-Fixed: 958963
Change-Id: I1544bc6e7894ffeda1956a19a553b6fe4e35f988
qcacld-2.0 to qcacld-3.0 propagation.
If MC thread stall while waiting on any event, In case of WPS,
probe requests may get accumulated in PE message queue.
Now every time MC thread process a probe request,
eWNI_SME_MGMT_FRM_IND msg is posted in SME message queue. But
unless PE queue is fully processed SME queue won't be processed.
This will gradually use all vos message wrapper.
To avoid this register a callback to send management frame
indication directly to HDD from PE which avoids posting message to
SME queue.
Change-Id: Ib83700825112cc52dade594909bfa8993909ac29
CRs-Fixed: 944961
qcacld-2.0 to qcacld-3.0 propagation.
1.Use iw tool to let dut connect to remote ap, dut is working
on wlan0.
2.At same time, use hostapd to start sap also on interface
wlan0.
In item1, before connect to ap, dut will do an internal scan
to search ap, if scan result matched configured ap profile,
dut trys to connect to ap.
In item2, when starting sap, found it's sta mode it will try
to disconnect dut with remote ap and close sta session.
#1 If ap start action happened in item1's scan period, trying
disconnecting won't take effect as currently sta has not yet
connected with remote ap.
So after item1's scan finished, dut continues to do connection.
#2 During closing sta session, sme issued eSmeCommandDelStaSession,
as currently sta is doing connection, so session is in started
status, this cause closure failed, so there is no chance to remove
cmd in smeCmdActiveList.
While cmd pending in smeCmdActiveList for 120s, driver issued crash.
The solution is in item1 after scan complete to check whether it's
needed to start following connection. If stop action has been issued
during scan period, then don't do the connection.
Change-Id: If632e21cb13277fba371ff1bf8df97febf856d09
CRs-Fixed: 923375
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_driver_ops.c to use the unified set of APIs.
Change-Id: I5620e91797412c0dbf32c1071b3eefd54f54aca7
CRs-Fixed: 937590
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_lro.c to use the unified set of APIs.
Change-Id: I72bf2b55390e1c72706077d22f61e59d17d14f13
CRs-Fixed: 937662
Change "qcacld-3.0: Roaming enhancement to allow multiple ssid"
(Change-Id If4953e64f9e0485edec85167a7bc1dd6ca7c2047) added some
incorrect logging to function hdd_send_re_assoc_event(). The intent
was to perform a hex dump of the buf_ssid_ie and final_req_ie buffers,
but in reality the code actually uses these buffers as logging format
strings. Fix this by invoking the correct API to perform a hex dump.
Change-Id: Id861ececd119ea7247ce24c7c8ea9173f13703d3
CRs-Fixed: 958752
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_nan.c to use the unified set of APIs.
Change-Id: I4dcc61656f1cd45d3a2c9d63441c27a733385328
CRs-Fixed: 937673
In adrastea multithreaded firmware WMI logging infrastructure
is not yet ready. Disable WMI FW logging for adrastea and enable
it for ROME based targets.
Change-Id: I64c858681f57a2a013fd23bcd9204f59ff638102
CRs-Fixed: 959416
qcacld-2.0 to qcacld-3.0 propagation
There is a race condition between TX_RESUME opcode, where checks
pending_cons_req before sending WLAN_CONS grant notification to IPA,
and WLAN_CLIENT_CONNECT event where clearing the pending_cons_req.
We don't need to clear pending_cons_req from WLAN_CLIENT_CONNECT
event, which is actually cleared by TX_RESUME opcode.
Change-Id: Icc5d05bc77800251b031efd0c07b0feaa2ae921d
CRs-Fixed: 952171