Commit Graph

3822 Commits

Author SHA1 Message Date
Jeff Johnson
3a3bc29a15 qcacld-3.0: Introduce HDD Request Manager infrastructure
Many operations within the wlan driver occur in an asynchronous
manner. Requests are received by HDD via one of the kernel interfaces
(ioctl, nl80211, virtual file system, etc.). The requests are
translated to an internal format and are then passed to lower layers
for processing. For requests which require a response, that response
comes up from the lower layers in a separate thread of execution,
ultimately resulting in a call to a callback function that was
provided by HDD as part of the initial request. So a mechanism is
needed to synchronize the request and response.

Currently there are various mechanisms which perform these
synchronizations, but experience with them has revealed some flaws. So
a universal mechanism is needed to synchronize the request and
response which addresses all of the known flaws. This framework
provides that mechanism.

Change-Id: If4d5912710f8a3b5e87adf76f828a646b7cc2983
CRs-Fixed: 2005298
2017-02-16 20:32:32 -08:00
Nitesh Shah
a438c1898f qcacld-3.0: Avoid sending frame before ready on channel event
If the ROC is requested from the supplicant, the driver sends
scan request to the firmware. The driver start the timeout after
receiving ready on channel event from the firmware. While packet
transmission, if the channel is same and timer is not running,
the driver assumes that it is in the listen channel and thus
transmits the frame. But this condition even meets while the
driver waits for ready on channel event, and thus, it sends
the frame in the wrong channel.

The fix is to wait for the ready on channel event if the timer
is not running. The change also address that ROC is dequeued only
after cancel ROC is completed.

Change-Id: If35c75e4bda4f11913a1326896754f29ac43946a
CRs-Fixed: 2005917
2017-02-16 09:33:40 -08:00
qcabuildsw
5a76211145 Release 5.2.0.10Q
Release 5.2.0.10Q

Change-Id: I245c2e3c251d55fd75f528c6aa678d8c7663f1f2
CRs-Fixed: 688141
2017-02-16 05:16:33 -08:00
Himanshu Agarwal
d2e6cde42e qcacld-3.0: Change signature of mgmt rx frame related APIs
Change signature of pe_handle_mgmt_frame, wma_form_rx_packet
and wma_mgmt_rx_process APIs by replacing rx params of type
void pointer with that of struct mgmt_rx_event_params pointer.

Change-Id: Idfa54f1c9bfec22a2cf2e98740765dcd797513df
CRs-Fixed: 1103247
2017-02-16 05:16:32 -08:00
qcabuildsw
1e21b2be7b Release 5.2.0.10P
Release 5.2.0.10P

Change-Id: I30f28e1ba5d53f6f629a53daa663fbb353f5d71e
CRs-Fixed: 688141
2017-02-16 02:36:06 -08:00
Abhishek Singh
9679dbf73f qcacld-3.0: Initialize scan module id with qdf debug framework
Initialize scan module id with qdf debug framework

CRs-Fixed: 2006971
Change-Id: I255ade0e7b6054e096e4320dbc6eefa55196a31e
2017-02-16 02:36:05 -08:00
qcabuildsw
406371ac0b Release 5.2.0.10O
Release 5.2.0.10O

Change-Id: Ic30d1725fcec99d2494f9204dc12ca98c20932d8
CRs-Fixed: 688141
2017-02-16 01:30:14 -08:00
Mukul Sharma
eb01e1311b qcacld-3.0: Set IBSS peer state to associate state after connection
Currently in IBSSS mode, host do not change the peer state to
associate state after successful connection. Hence other
components always find peer state as not associate.
As a part of this fix, move IBSS peer state to associate state.

Change-Id: I21970ae723a3cecd797182c260692810625f2ace
CRs-Fixed: 2007648
2017-02-16 01:30:13 -08:00
qcabuildsw
4dcb8753d0 Release 5.2.0.10N
Release 5.2.0.10N

Change-Id: I10006b506305e4d5f1d61f9eef3bf2b2f3de2bab
CRs-Fixed: 688141
2017-02-15 23:56:28 -08:00
Rajeev Kumar
69d7d490ab qcacld-3.0: Enable object manager reference count debug feature
Object manager provides reference count infrastructure for all 4
common objects: psoc, pdev, vdev and peer. Reference count APIs
provide protection from use after free scenarios by making sure
reference counted object is not freed prematurely while its still
in use. Reference count usage requires certain set of disciplines
from components for example:
1) A component 'C' is responsible for all its reference count
2) A component 'B' can't release reference count of a common object
   taken by component 'A'
3) A component can't release a reference count which it has not
   taken.

Enable reference count debug infrastructure such that wrong APIs
usage can be detected and fixed properly.

Change-Id: I7a5b92fe00a060eee15b74572d2624197b331894
CRs-Fixed: 2006322
2017-02-15 23:56:27 -08:00
qcabuildsw
1cad2410e5 Release 5.2.0.10M
Release 5.2.0.10M

Change-Id: Ic475c73917fe0bb8104c0a56808bb283951a285d
CRs-Fixed: 688141
2017-02-15 19:11:24 -08:00
Tang Yingying
523322db1a qcacld-3.0: Add "static" before function to fix compilation error
Some functions are only used in the file which it is defined
in. Add "static" before function to fix compilation error.

Change-Id: Ie99c8e2a2c4dd6564c19876f8456a47786d3e5cb
CRs-Fixed: 1112463
2017-02-15 19:11:23 -08:00
Tang Yingying
4c0e83ee98 qcacld-3.0: Disable LRO feature when linux kernel version < 4.4
Currently kernel LRO API is only provided in version 4.4. There will
be compilation error if kernel version < 4.4. Add fix to disable
LRO feature when linux kernel version < 4.4.

Change-Id: I69198e55bb3c4ee7c5844e2b7b55e12cb8075d7c
CRs-Fixed: 1112463
2017-02-15 19:11:21 -08:00
Tang Yingying
43ee7eea10 qcacld-3.0: Move WLAN_FEATURE_LINK_LAYER_STATS out of FEATURE_WLAN_TDLS
WLAN_FEATURE_LINK_LAYER_STATS is included in FEATURE_WLAN_TDLS in
wlan_hdd_cfg80211.h. It will lead cmpilation error when FEATURE_WLAN_TDLS
is disabled.Since WLAN_FEATURE_LINK_LAYER_STATS doesn't depend on
FEATURE_WLAN_TDLS, move WLAN_FEATURE_LINK_LAYER_STATS out of
FEATURE_WLAN_TDLS to resolve this issue.

Change-Id: I14f4b69a9868fcef7bf2aa9813ef562ad265acd9
CRs-Fixed: 1112463
2017-02-15 19:11:20 -08:00
qcabuildsw
2757b22804 Release 5.2.0.10L
Release 5.2.0.10L

Change-Id: I71020c38b77c934c090df4d6970abbe2803a8cc4
CRs-Fixed: 688141
2017-02-15 18:33:14 -08:00
Rajeev Kumar
700e910330 qcacld-3.0: Remove spam log message from WMI log flush event handler
WMI flush event handler is spamming kernel log buffer hence remove
it. Logger thread already logs when log message is delivered to
user space hence logging in WMI is not needed.

Change-Id: Ie8f8eb904f0417f83870058d7eac67622955b15a
CRs-Fixed: 2007373
2017-02-15 17:32:31 -08:00
Rajeev Kumar
c3032b89d6 qcacld-3.0: De-serialize WMI DEBUG FLUSH log event id from scheduler
Logging events should not be serialized to scheduler thread hence
de-serialize WMI debug flush log event id from scheduler thread
and register it to run in kernel's default event work queue.

Change-Id: I36d7542da43e6814b5bd50bdc8c166d1fc692e35
CRs-Fixed: 2006819
2017-02-15 17:32:26 -08:00
Rajeev Kumar
91ac6ac682 qcacld-3.0: Move wma log flush event registration to wma_open
wma flush log event handler is registered during wma_start which
is not done until interface is up. This leads to excessive logging
from WMI layer because event handler is not registered. Move wma
flush log event handler registration to wma_open such that after
driver load FW log flush events are handled properly.

Change-Id: I5a76bbc7d53dacfd2c9bf7f15b73b46e0df85289
CRs-Fixed: 2006818
2017-02-15 17:31:25 -08:00
qcabuildsw
e65eb67350 Release 5.2.0.10K
Release 5.2.0.10K

Change-Id: I26ba9f8b5719ba783e76a6a0f87cdd4b55ac4d2f
CRs-Fixed: 688141
2017-02-15 15:54:48 -08:00
wadesong
a75734cd32 qcacld-3.0: populate wiphy feature bits for beacon rate customizing
qcacld-2.0 to qcacld-3.0 propagation

Extended feature bits in wiphy structure should be populated during
wlan host driver startup to support beaconing at different data rate.
Currently legacy, HT and VHT rates are all supported.

Change-Id: Ic03dd1feb63144dddb813e6a1133fbfa48db8315
CRs-Fixed: 1097770
2017-02-15 15:54:45 -08:00
qcabuildsw
7047656c0f Release 5.2.0.10J
Release 5.2.0.10J

Change-Id: Ib387563fdcf34276d44519fe7c104d91e33bd96a
CRs-Fixed: 688141
2017-02-15 12:26:47 -08:00
Venkata Sharath Chandra Manchala
0d44d455fa qcacld-3.0: Handle void pointer declarations for pdev and vdev
Replace void pointer handles for pdev and vdev
with abstract structure handles

Change-Id: Idd9a2521249e30faf1143f671c4d2d924fe231e8
CRs-Fixed: 1109835
2017-02-15 12:26:46 -08:00
qcabuildsw
ab679fb31b Release 5.2.0.10I
Release 5.2.0.10I

Change-Id: I0d98495c1cfd4f271a535a9677682d74ddd81c43
CRs-Fixed: 688141
2017-02-15 06:35:21 -08:00
Nitesh Shah
a3dfea3ebb qcacld-3.0: Avoid new connection while HW mode change is issued
In the case of concurrency, when the session decrements, the
opportunistic timer is started. After a while, when the
opportunistic time is expired, and the hw mode change for SMM
is issued, and the same time new interface comes up, then the
new forms MCC with the existing connection instead of forming
DBS.

The change is to avoid the race condition to form MCC instead of
DBS.

Change-Id: I977039138509676b964ba089e3cb479cd16968bb
CRs-Fixed: 2006350
2017-02-15 06:35:20 -08:00
qcabuildsw
2fc7eb9e25 Release 5.2.0.10H
Release 5.2.0.10H

Change-Id: Ia0332abbfc2c27ead6e6664df58ecb2632b64ca3
CRs-Fixed: 688141
2017-02-15 01:48:54 -08:00
Selvaraj, Sridhar
3a1823f12d qcacld-3.0: Get/Release ref_cnt for objects store and release
Add get and release reference counts for PSOC/PDEV/VDEV/PEER
objects reference storing and releasing as per the latest reference
count implementation.

Change-Id: I1715be7f8e47b52fa36bb070443051dd99703eb0
CRs-Fixed: 2001058
2017-02-15 01:48:53 -08:00
qcabuildsw
b4272f9466 Release 5.2.0.10G
Release 5.2.0.10G

Change-Id: Id1f1f9d32e7b244f73f656492ac8f296268c1bef
CRs-Fixed: 688141
2017-02-14 23:53:35 -08:00
yeshwanth sriram guntuka
46f004fb9c qcacld-3.0: Add log message for disassociate cmd
Add log message to indicate reason for disassociate
request issued by driver.

Change-Id: I30027a274bfc4105ae9e0128cd6837bc6a29aaed
CRs-Fixed: 2002041
2017-02-14 23:53:30 -08:00
qcabuildsw
04b3a3a04a Release 5.2.0.10F
Release 5.2.0.10F

Change-Id: I06e65c384905f747abbe69093d85163b02162131
CRs-Fixed: 688141
2017-02-14 22:55:37 -08:00
yeshwanth sriram guntuka
e83d8ff653 qcacld-3.0: Remove redundant kernel log messages
Remove redundant kernel log messages by changing
print level to INFO

Change-Id: Ia622b9da737318e13bf08ae400656827f735b57b
CRs-Fixed: 2002041
2017-02-14 22:55:36 -08:00
qcabuildsw
cab10f9c29 Release 5.2.0.10E
Release 5.2.0.10E

Change-Id: I23226362f8d84aee2d603f2a63d40cc9469861e5
CRs-Fixed: 688141
2017-02-14 16:28:19 -08:00
Yu Wang
58e1cad939 qcacld-3.0: fix compilation errors for HL target on MDM
1. sdio related source files are not included due to
   CONFIG_HIF_SDIO is not enabled.
   Enabled CONFIG_HIF_SDIO if CONFIG_ROME_IF is sdio.

2. Paramters for nl_srv_init/nl_srv_exit are incorrect
   if MULTI_IF_NAME is defined.
   Correct the parameters, to align with the prototype.

Change-Id: I4e395e07b12e3b1904cabfa4a40fa10845d8e735
CRs-Fixed: 2004368
2017-02-14 16:28:18 -08:00
Yu Wang
95ed98e08d qcacld-3.0: add support for QCA9377_REV1_1
Add processing for QCA9377_REV1_1_VERSION

Change-Id: I0d91e2b903b60370e9d8395917539cb491a272e3
CRs-Fixed: 2004328
2017-02-14 16:28:16 -08:00
Yu Wang
053d3e7009 qcacld-3.0: fix compilation errors for HL target
For HL target, CONFIG_HL_SUPPORT is enabled, which
cause sevaral compilation errors.
1. Couldn't find the definition of adf_xxx APIs.
   Replace adf_xxx APIs with qdf_xxx APIs.

2. ol_tx_msdu_id_storage() return a wrong value,
   implementation and definition mismatch.
   Correct the return value to: pointer to tx desc_id.

3. Some of CONFIG_HL_SUPPORT/FEATURE_WLAN_TDLS feature
   related code are not embraced by the macro properly.
   Embrace the code with right macro for each feature.

Change-Id: Ibf09fd78f85327200dede8c32bc215208e54b798
CRs-Fixed: 2004340
2017-02-14 16:28:14 -08:00
qcabuildsw
56d7d7439f Release 5.2.0.10D
Release 5.2.0.10D

Change-Id: I9c6a4a6d957751f69dccb840fa5013bf8d674d9d
CRs-Fixed: 688141
2017-02-14 14:38:13 -08:00
Rajeev Kumar
fe98146f84 qcacld-3.0: Remove obsolete NAPIER_CODE feature flag
NAPIER_CODE feature flag is no longer needed and hence
remove it.

Change-Id: Ide612ca55722d8defbee6d37a81ad55ffd0fba5f
CRs-Fixed: 2006308
2017-02-14 14:38:12 -08:00
qcabuildsw
b8419ebb6f Release 5.2.0.10C
Release 5.2.0.10C

Change-Id: I42c2f3e250875751dc5fed6ea0d6c6161578fdd2
CRs-Fixed: 688141
2017-02-14 13:57:25 -08:00
Jeff Johnson
6875531897 qcacld-3.0: HDD: Fix "else after break/return"
Checkpatch reports multiple instances of the following in HDD:
   WARNING: else is not generally useful after a break or return

Fix all such instances.

Change-Id: I1a0ed6ea49ada6f26c760f084337433b74a3bf83
CRs-Fixed: 2005433
2017-02-14 13:57:23 -08:00
Jeff Johnson
ac8b0de7f3 qcacld-3.0: Fix iw_get_policy_manager_ut_ops() checkpatch error
The kernel checkpatch script has identified code in function
iw_get_policy_manager_ut_ops() that is not compliant with the coding
style, so fix it.

Change-Id: Icff0907c649fb7d7f7d72d1bc486e5c5c7c177d2
CRs-Fixed: 2005296
2017-02-14 13:57:22 -08:00
qcabuildsw
fa99f2f9c3 Release 5.2.0.10B
Release 5.2.0.10B

Change-Id: I8362f3be394d383b7d88af2695a958f4b65646d9
CRs-Fixed: 688141
2017-02-14 12:04:10 -08:00
Agrawal Ashish
e69b45e530 qcacld-3.0: Fix max Tx power to 22
Hardware support max tx power as 22 instead of 30.
Fix this by supporting max power as 22.

Change-Id: I3645b47a575ffa8b8bcc85fe0dcbba4a630b078b
CRs-Fixed: 2005749
2017-02-14 12:04:09 -08:00
qcabuildsw
0114f7cdc6 Release 5.2.0.10A
Release 5.2.0.10A

Change-Id: If92b661f1c9c7b367f9f4e23c56075eb8d6d22ab
CRs-Fixed: 688141
2017-02-14 10:25:40 -08:00
Agrawal Ashish
3d000b4cca qcacld-3.0: Disconnect any existing session before new connection
If user is issuing connect command again and again with some AP,
driver should first do a disconnect and wait for completion of disconnect.
Once disconnect is done, driver should start new connection.

Change-Id: I8d64384ea1feef1173800a6f2910945d9046020b
CRs-Fixed: 1114683
2017-02-14 10:25:39 -08:00
qcabuildsw
8353105284 Release 5.2.0.10
Release 5.2.0.10

Change-Id: I8001fce3aabd1fc4e34433b5309768d5858b5bd4
CRs-Fixed: 688141
2017-02-14 07:17:45 -08:00
Krishna Kumaar Natarajan
f24bfc8b70 qcacld-3.0: Remove all calls to cdp_remove_peers_for_vdev
Remove all calls to cdp_remove_peers_for_vdev().
cdp_remove_peers_for_vdev() is called from vdev_resp_handler
to remove all vdev peers. All the peers associated with the vdev
are deleted before vdev stop and hence this call to
cdp_remove_peers_for_vdev() is redundant.

Delete only the self peer and remove the code to delete the
vdev peers.

Change-Id: I8a91509917a371b860058a66831d8417b3a78671
CRs-Fixed: 2002372
2017-02-14 07:17:44 -08:00
qcabuildsw
7e25e8fc45 Release 5.2.0.9Z
Release 5.2.0.9Z

Change-Id: Ie41ac043b4bd5da9f91218ecb2d8d00d3b8503dd
CRs-Fixed: 688141
2017-02-14 04:36:43 -08:00
Agrawal Ashish
e2219bb97b qcacld-3.0: Add INI template for 11AC feature
Add INI template for 11AC feature for documentation.

Change-Id: I6ce302b060360444b9a15d4540612d45cc080b13
CRs-Fixed: 1109628
2017-02-14 04:36:42 -08:00
qcabuildsw
09bdca6e6b Release 5.2.0.9Y
Release 5.2.0.9Y

Change-Id: I771d479f6809de72c7281e4701d8b32c29e2ba80
CRs-Fixed: 688141
2017-02-14 02:54:05 -08:00
Mukul Sharma
4d7d6b006d qcacld-3.0: Initialize PMO module id with qdf debug framework
Initialize PMO module id with qdf debug framework

Change-Id: I3e71c6b5492b7b68f2997671a4f9271aa7fe14cf
CRs-Fixed: 2005961
2017-02-14 02:54:04 -08:00
qcabuildsw
488cbf858a Release 5.2.0.9X
Release 5.2.0.9X

Change-Id: I25e80fd29832dcb2f7b82ed0ee54984dbff1e7d6
CRs-Fixed: 688141
2017-02-14 01:16:34 -08:00