Commit Graph

10434 Commits

Author SHA1 Message Date
Kiran Kumar Lokere
b503c7c27d qcacld-3.0: Remove the redundant conditional logic
The same code is executed regardless of the conditioal
logic, so remove the redundant conditional block.

Change-Id: I46688f9e7b159a77dd3a2fa977e98237abe1777a
CRs-Fixed: 2232937
2018-06-08 03:19:47 -07:00
Vignesh Viswanathan
a3d5c27286 qcacld-3.0: Send BTM offload disable to FW during RSO Stop
Currently, BTM offload config from the ini is sent to the FW as part
of the RSO start for the vdev which has roaming enabled. In case
of STA+STA concurrency, when roaming is enabled for second STA,
BTM config is sent for the second STA vdev leading the FW to assert
as the FW already has BTM offload enabled for the previous STA
session and supports only one vdev with BTM offload enabled at a time.

Send BTM offload config with flags as disabled as part of RSO Stop
so that the FW de-inits the BTM offload on the current connected vdev
before it inits BTM offload config on the new vdev for the second STA.

Change-Id: I7af499b0f7c77b5d52e6c74b09c28c845bdfcd9a
CRs-Fixed: 2251994
2018-06-08 03:19:44 -07:00
Vignesh Viswanathan
2fa5e2dfac qcacld-3.0: Reset rmfEnabled for STA VDEV during DEL BSS
When add_bss is done for a STA vdev, the rmfEnabled flag is set
on the wma_txrx_node based on the PE session config. However this flag
is not reset during del_bss which leads to DPP public action frames
sent from supplicant with no session established to be considered
as rmf enabled (due to previous connected rmf session) and adding
additional bytes in the header. This leads to the DPP frame of
incorrect length to be transmitted and the other DPP STA receiving the
frame drops it.

Reset the rmfEnabled flag in wma_vdev_stop_resp_handler if set
previously for the VDEV.

Change-Id: I6ffb1f3efbfc8455768f54155a2abcc8ccf13fe6
CRs-Fixed: 2236476
2018-06-08 03:19:41 -07:00
Yun Park
df3661cb1c qcacld-3.0: Handle SMMU mem map table alloc fail at unload
Change to handle SMMU mem map table alloc failure at unload.

Change-Id: If4928d7ddb1fe09608b2efd7077d6459d882ec01
CRs-Fixed: 2233582
2018-06-08 03:19:38 -07:00
nshrivas
7a5e8bae2a Release 5.2.0.81V
Release 5.2.0.81V

Change-Id: If452cdf2a60768e2fa35a5364bfc8f9de07b106a
CRs-Fixed: 774533
2018-06-08 00:36:59 -07:00
Alok Kumar
4d87ff204f qcacld-3.0: Fix NULL pointer dereferencing of vdev during peer deletion
During peer deletion, ol_txrx_is_peer_eligible_for_deletion() is
called to check if peer is eligible for deletion. Inside function,
vdev is dereferenced to extract pdev but due to race conditon peer
may get freed from the list and this may lead to NULL pointer
derefencing of vdev.

Avoid dereferencing of vdev and pass pdev itself as an argument to
ol_txrx_is_peer_eligible_for_deletion()

Change-Id: I743e2e2c83c3e07e5d5ec4fde7fc3b098766ca96
CRs-Fixed: 2252243
2018-06-08 00:36:59 -07:00
Alok Kumar
bda73bb1f2 qcacld-3.0: Fix NULL pointer dereferencing of peer due to race condition
Peer get deleted during ol_txrx_peer_detach_force_delete when
WMA_ROAM_OFFLOAD_SYNCH_IND is received. As peer deletion is
happening in different context and ol_rx_send_pktlog_event is
accessing the peer in different context, a possible race condition
has occurred which leads to NULL pointer dereferencing of peer.

Ignore the peer deletion during ol_txrx_peer_detach_force_delete and
delete it during ol_rx_peer_unmap_handler.

Change-Id: Icf252612081a41f94db6df4684348f2962b2da9d
CRs-Fixed: 2238214
2018-06-08 00:36:55 -07:00
nshrivas
109ef93e0e Release 5.2.0.81U
Release 5.2.0.81U

Change-Id: Ia7f5e5e666a7106614ba1adbfd5a2a8209418dcb
CRs-Fixed: 774533
2018-06-07 21:08:37 -07:00
Kai Liu
e6d9450e79 qcacld-3.0: Check if sdio device is valid before start wifi
When loading sdio driver, need make sure sdio device is recognized,
break driver loading if no device.

Change-Id: I4d47575d793b58970012e4e47cc63b0c197f565d
CRs-Fixed: 2245495
2018-06-07 21:08:36 -07:00
nshrivas
e8f2826b46 Release 5.2.0.81T
Release 5.2.0.81T

Change-Id: I2d6b1fb8d794ff3b0386f5f8bf664348f4f3f7a4
CRs-Fixed: 774533
2018-06-07 19:30:30 -07:00
jiad
8768b146be qcacld-3.0: Remove log in WLAN IPA RX exception cb
When running embedded tput between client and SAP, there'll be
excessive logs per packet. Fix is to remove the per packet
debug message.

Change-Id: I846f4fd5e54cc8945b3159c56e04418feea0183f
CRs-Fixed: 2253186
2018-06-07 19:30:30 -07:00
nshrivas
e05e4968e6 Release 5.2.0.81S
Release 5.2.0.81S

Change-Id: Ia50d50fb9117a4d3aea714759e8f41ca6553a449
CRs-Fixed: 774533
2018-06-07 17:06:01 -07:00
Zhang Qian
1e7649e31f qcacld-3.0: Fix bad pointers being passed from SME to WMA
In commit d217d19d7e ("qcacld-3.0: Add vendor cmd to support
antenna diversity") and commit 66831666b4 ("qcacld-3.0: Add
vendor attr to get rx aggregation statistics"), tHalHandle (pMac)
are passed by SME to WMA APIs that expect a tp_wma_handle.

To fix this, call cds_get_context() to get wma handle.

Change-Id: I01812b2390269805da4d1a5cb40a811d1e22ec56
CRs-Fixed: 2253253
2018-06-07 17:06:01 -07:00
Srinivas Girigowda
27cdaa15fb qcacld-3.0: Fix logging issue in NL80211_RATE_INFO_BITRATE32
Even though the bitrate is greater than zero, because of
incorrect conditional check, error log "Invalid bitrate" is
getting printed.

Hence, fix this by adding proper conditional check.

Change-Id: I2076c7a90e735e4a278f4d5894e51abc8bd091c0
CRs-Fixed: 2250687
2018-06-07 17:05:57 -07:00
Srinivas Girigowda
ccc6906dbf qcacld-3.0: Logging enhancement for NL80211_RATE_INFO_BITRATE32
Logging enhancement for NL80211_RATE_INFO_BITRATE32.

CRs-Fixed: 2250687
Change-Id: I68ac99d99d4172fcecb6cf6841d86049d85cfaa4
2018-06-07 17:05:54 -07:00
nshrivas
5bbef3920a Release 5.2.0.81R
Release 5.2.0.81R

Change-Id: I6b29750f2a169f445cec7d3dba28b0f2a2bf0902
CRs-Fixed: 774533
2018-06-07 15:47:46 -07:00
Nirav Shah
5ff1fd05d6 qcacld-3.0: Featurize fastpath feature
Featurize fastpath feature cleanly and
also disable unused code when Fastpath
is enabled.

Change-Id: I3922af873ef32544fdca37be0b110ebbc2abc45a
CRs-Fixed: 2226918
2018-06-07 15:47:45 -07:00
nshrivas
6aa1cec856 Release 5.2.0.81Q
Release 5.2.0.81Q

Change-Id: I00771526da0d6bacf340ae9bad017baf01d144c7
CRs-Fixed: 774533
2018-06-07 12:46:50 -07:00
Naveen Rawat
c9fab3e2b7 qcacld-3.0: Enable CP_STATs componet
Enable CP_STATs component.

Change-Id: I49917ca35109a468f601f417792704e866a7c432
CRs-Fixed: 2249397
2018-06-07 12:46:50 -07:00
Naveen Rawat
8693677c5a qcacld-3.0: Fix typo "doesnt" in generated dot11f.c code
Fix typo "doesnt" in generated dot11f.c code.

Change-Id: I4664b10fffe771f8ba20cddbb7c7ad91cfc161b3
CRs-Fixed: 2244920
2018-06-07 12:46:46 -07:00
nshrivas
a98d76efbc Release 5.2.0.81P
Release 5.2.0.81P

Change-Id: Id094cb32264135a9a7289722882fdd2b3753e698
CRs-Fixed: 774533
2018-06-07 02:30:42 -07:00
Visweswara Tanuku
1a10e945e0 qcacld-3.0: Update stations bw info field value in VHT20 scenario
qcacld-2.0 to qcacld-3.0 propagation

After station is associatied in VHT20, update station info
txrate bw field for VHT20 case when cfg80211_get_station is
triggered

Change-Id: Ia3547083d5f4fb031fd186234b2d13126d8a9712
CRs-Fixed: 2086316
2018-06-07 02:30:40 -07:00
Rakshith Suresh Patkar
9051736a2e qcacld-3.0: Fix possible overflow in wma_stats_event_handler
The excess buffer check in wma_stats_event_handler is such that
if buflen is greater than WMI_SVC_MSG_MAX_SIZE, the resulting
difference of the two values will be a negative integer, which
will be treated as a very large positive integer since the data type
is unsigned. This will result in the check failing to detect overflow
when compared with sizeof(*event).

Fix the buflen check condition such that buflen is compared with the
difference of WMI_SVC_MSG_MAX_SIZE and sizeof(*event), eliminating
the possibility of overflow.

Change-Id: Ic20bfa554476db36e28557402cec23fcce5af85d
CRs-Fixed: 2224443
2018-06-07 02:30:36 -07:00
Visweswara Tanuku
bc115203de qcacld-3.0: Update stations bw info field value in HT20 scenario
qcacld-2.0 to qcacld-3.0 propagation

After station is associatied in HT20, when cfg80211_get_station
is triggered, update station info txrate bw field for HT20

Change-Id: Icc2c5f318d7812696202705edda17c7352f66fba
CRs-Fixed: 2121005
2018-06-07 02:30:32 -07:00
nshrivas
ec912b999d Release 5.2.0.81O
Release 5.2.0.81O

Change-Id: Ie9c3298bd7f8587e5585ca205fb81e33fba4f9d2
CRs-Fixed: 774533
2018-06-06 23:49:09 -07:00
Nirav Shah
bb8e47c200 qcacld-3.0: Featurize packet log
Featurize packet log.

Change-Id: Id747d142d72d02759b20bcf3091fd769261b8f67
CRs-Fixed: 2245422
2018-06-06 23:49:08 -07:00
Nirav Shah
73713f7e80 qcacld-3.0: Featurize monitor mode
Featurize monitor mode code.

Change-Id: I42d2d6a92d9097676ab3f8ec4a86958b8c0bc096
CRs-Fixed: 2245419
2018-06-06 23:49:05 -07:00
Sandeep Puligilla
8e89d57e0e qcacld-3.0: Add spectral scan feature flag
Add spectral scan feature flag which can be
used to control the feature through build options.

Change-Id: Ide13e958cffff610626c891041307b40ac94c47d
CRs-Fixed: 2232167
2018-06-06 23:49:01 -07:00
nshrivas
7669c081c8 Release 5.2.0.81N
Release 5.2.0.81N

Change-Id: Icd3391a8da30863d31fa80a8f0e6930d27738d6d
CRs-Fixed: 774533
2018-06-06 22:12:24 -07:00
Tiger Yu
9973e36524 qcacld-3.0: Reset the soc before htc_stop when failure in cds_pre_enable
Reset the soc before htc_stop when failure in the cds_pre_enable to stop
the copy engine which might continue deliver the data to host after
cleaning up the destination ring buffers to avoid the poison overwritten.

Change-Id: I2ef111926af4a889f1ee005681d68eafba7e5564
CRs-Fixed: 2250860
2018-06-06 22:12:24 -07:00
Kiran Kumar Lokere
0927102d08 qcacld-3.0: Refactor code to pass large argument by reference
A large function call parameter is passed by value.
Refactor the code to send the large function call parameter by
reference.

Change-Id: I0a29ee9df797e245a4960160c66053df7b834be3
CRs-Fixed: 2232908
2018-06-06 22:12:20 -07:00
nshrivas
f51feb2f32 Release 5.2.0.81M
Release 5.2.0.81M

Change-Id: I8173e27b5b13c3d965018402a6da6f25dd70aa52
CRs-Fixed: 774533
2018-06-06 20:28:25 -07:00
Liangwei Dong
ad89c765fd qcacld-3.0: Fix pre cac work thread hung
wlan_hdd_sap_pre_cac_success run in the work thread
scheduled by sap_pre_cac_work.
But hdd_stop_adapter will call
cds_flush_work(&hdd_ctx->sap_pre_cac_work);
That means the work waits itself to finish.

The Fix is to add flag to hdd_stop_adapter
to identify the "stop" running in the work handler
and skip the "sync" cancel the work self.

Change-Id: I875c2f14ffd54272fc9ea0df1cecc6dd1171e310
CRs-Fixed: 2252085
2018-06-06 20:28:23 -07:00
Jeff Johnson
8abc59300e qcacld-3.0: Tighten the wma_tgt_cfg_cb API
Currently the function typedef wma_tgt_cfg_cb is defined with two void
pointer parameters. However the types of the two parameters are known
to both the sender and the receiver, so fully specify the types of
those parameters.

Change-Id: I7cf7178015084599061b123da7b5f1f453ec5353
CRs-Fixed: 2254954
2018-06-06 20:28:19 -07:00
Jeff Johnson
2d29212dc8 qcacld-3.0: Rename tHddHandle
Per the Linux coding style "mixed-case names are frowned upon" so
rename typedef tHddHandle to hdd_handle_t to align with the Linux
typedef naming convention.

Change-Id: I34849ed819b31564ca561a1718083793bf30a0a3
CRs-Fixed: 2254953
2018-06-06 20:28:16 -07:00
Jeff Johnson
b967d51f5f qcacld-3.0: Fix bad typecast in pe_mc_process_handler()
In pe_mc_process_handler() the mac_ctx is currently typecast to a
tHalHandle when calling pe_process_messages(). However
pe_process_messages() actually expects a tpAniSirGlobal, and the
typecast results in a build failure when strict type checking is
enabled. To fix the build failure remove the typecast.

Change-Id: Ie8a38845f0e2bf76205326a1b5fe7691a8f8de12
CRs-Fixed: 2254952
2018-06-06 20:28:12 -07:00
Jeff Johnson
796b9a708e qcacld-3.0: hdd: Fix incorrect hal_handle declarations
Turning on strict type checking flagged multiple of instances of
hal_handle being declared incorrectly, so fix them.

Change-Id: I8781c7e2839dcc3532b3aca066802db39f989e07
CRs-Fixed: 2254951
2018-06-06 20:28:08 -07:00
Jeff Johnson
bae59f9607 qcacld-3.0: Fix hdd_pre_enable_configure() layering violation
Currently hdd_pre_enable_configure() calls cfg_set_str() to update
WNI_CFG_STA_ID in the cfg database. Buf cfg_set_str() is an internal
MAC API which should not be called by HDD, and this code fails to
compile when strict parameter checking is enabled because HDD is
passing a tHalHandle to a function which expects a tpAniSirGlobal.
Update hdd_pre_enable_configure() to instead call sme_cfg_set_str().

Change-Id: Ic3f249f18319c3e54786938f76fe61b2af37f25f
CRs-Fixed: 2254950
2018-06-06 20:28:05 -07:00
Jeff Johnson
0a078b5a23 qcacld-3.0: Fix HDD WPA/RSN IE layering violation
Currently HDD is directly calling csr_roam_get_wpa_rsn_req_ie() and
csr_roam_get_wpa_rsn_rsp_ie(). That is a layering violation since HDD
should be calling SME APIs; CSR APIs are meant to be called by
SME. And SME already exposes two APIs which, in turn, call those CSR
APIs. However those SME APIs, sme_roam_get_security_req_ie() and
sme_roam_get_security_rsp_ie(), are defined to take an extra secType
parameter which is then unused. To clean up this mess modify the SME
APIs to have the same naming and parameters as the CSR APIs and update
HDD to call the SME APIs.

Change-Id: I0ba2f056e089818ab04a8d421e3d8c571e312831
CRs-Fixed: 2254949
2018-06-06 20:28:02 -07:00
Peng Xu
8e8b039c8d qcacld-3.0: Use extended feature flag to support DFS offload
Use upstream extended feature flag NL80211_EXT_FEATURE_DFS_OFFLOAD
for DFS offload support.

Change-Id: I26f4998c7760d8913d1311e459eb873685279681
CRs-fixed: 2233627
2018-06-06 20:27:59 -07:00
Jeff Johnson
330c0bf8ef qcacld-3.0: Fix sme_update_channel_list() API
Currently sme_update_channel_list() is defined to take a
tpAniSirGlobal mac_ctx. However SME APIs are supposed to hide the fact
that they operate on tpAniSirGlobal and instead should be taking a
tHalHandle. Furthermore a tHalHandle is what is currently being passed
by HDD.  Therefore update sme_update_channel_list() to take a
tHalHandle.

Change-Id: I2f424a6c11342470fd6885968d635109327be3f0
CRs-Fixed: 2254947
2018-06-06 20:27:56 -07:00
Jeff Johnson
d0a6b2c979 qcacld-3.0: Consistently use CDS logging APIs
The CDS module currently has a mixture of directly using QDF_TRACE
(with an assortment of module IDs) along with using its own CDS
logging APIs. Update the module to consistently use just the CDS
logging APIs.

Change-Id: I5581c960d2b3c973246b44bda3b5bbb740ac3bf3
CRs-Fixed: 2251991
2018-06-06 20:27:52 -07:00
Jeff Johnson
028033d7a0 qcacld-3.0: Add cds_warn() API
The set of cds trace APIs is missing the "warn" API, so add cds_warn().

Change-Id: I1d15f7e01667c5f8ec46c7a7c20d9d8ac4987f28
CRs-Fixed: 2251990
2018-06-06 20:27:48 -07:00
Jeff Johnson
13269963d7 qcacld-3.0: Rename pModuleContext & ppModuleContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers pModuleContext & ppModuleContext.

Change-Id: Ib0c37fa2ec295da24cfcdfbf903c6ba121dec04b
CRs-Fixed: 2251989
2018-06-06 20:27:45 -07:00
Jeff Johnson
835b760a1e qcacld-3.0: Rename pGpModContext & pModContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers pGpModContext & pModContext.

Change-Id: I077cd7b7b3415c14549f02bb166ec31e79712b7b
CRs-Fixed: 2251988
2018-06-06 20:27:42 -07:00
Jeff Johnson
b3be6a6a36 qcacld-3.0: Rename moduleID & moduleId
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers moduleID & moduleId.

Change-Id: I1bda5cb9d0d57a5af072ed0eb61c7d8125dfd3cd
CRs-Fixed: 2251987
2018-06-06 20:27:39 -07:00
Jeff Johnson
2ccd815bf5 qcacld-3.0: Rename cds_context field wmaCompleteEvent
Per the Linux coding style "mixed-case names are frowned upon" so
rename field wmaCompleteEvent in struct cds_context.

Change-Id: I0b56daf9e387bbc96ddd2b0539ddefb16c82cca2
CRs-Fixed: 2250673
2018-06-06 20:27:36 -07:00
Jeff Johnson
a40e21c1d3 qcacld-3.0: Rename cds_context field pHIFContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pHIFContext in struct cds_context.

Change-Id: I023d61b0a26a6f4f35a46e5c04ab63b83182b846
CRs-Fixed: 2250672
2018-06-06 20:27:33 -07:00
Jeff Johnson
830f322c66 qcacld-3.0: Rename cds_context field pWMAContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pWMAContext in struct cds_context.

Change-Id: Ia8fa98366d57ab2bf81549570ef7b1766e579a00
CRs-Fixed: 2250671
2018-06-06 20:27:30 -07:00
Jeff Johnson
528c2cfc31 qcacld-3.0: Rename cds_context field pMACContext
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pMACContext in struct cds_context.

Change-Id: I50007d80d12276b682237d728435203e455a18c9
CRs-Fixed: 2250670
2018-06-06 20:27:27 -07:00