Commit Graph

2728 Commits

Author SHA1 Message Date
Himanshu Agarwal
46956a5aff qcacld-3.0: Add infrastructure for pktstats based on linkedlist
Proapagation from qcacld-2.0 to qcacld-3.0.

Currently pktstats are stored in static allocated memory. This
pkt stats can be accessed using
1) procEntry function
2) hal_proxy_daemon
If user access it using procEntry then read pointer is moved ahead
in static memory array because of which incomplete data goes when
queried using hal_proxy_daemon.
Fix this by maintaining the pktstats in link list. When the
request comes from hal_proxy_daemon, complete data is sent
to it from this link list

Change-Id: I09bbd03fe378b296e110ce52cc8cbeb8cf8d723d
CRs-Fixed: 958544
(cherry picked from commit c0d86fc4197383d0eb386e091cee5142a35b555a)
2016-10-28 18:04:11 -07:00
qcabuildsw
b0821c471b Release 5.1.0.33G
Release 5.1.0.33G

Change-Id: I0352881b7ed17e4d34ec5c74de0b77ca0e16324d
CRs-Fixed: 688141
(cherry picked from commit 548562e0d00a7dacc70c53d99df8a0bdfd193e18)
2016-10-28 18:04:09 -07:00
gbian
bf0e062ca3 qcacld-3.0: Flush vdev's TXQ with the same TID as inserted one
qcacld-2.0 to qcacld-3.0 propagation

Currently TXQ of DEFAULT_MGMT packet is using TID
HTT_TX_EXT_TID_MGMT when we inserted into Scheduler, so use
same TID when we flush it.

Change-Id: I1631b7706d1f8bf0352ceecb8836d82743526e44
CRs-Fixed: 1000968
(cherry picked from commit 9b41b24a9da6b9415ebdafb6e4574f0b03570e9e)
2016-10-28 18:04:07 -07:00
gbian
2259cb33c3 qcacld-3.0: indicate wow wake up frame for HL project
qcacld-2.0 to qcacld-3.0 propagation

Currently FW does not indicate wow wake up frame to host for
HL project. After the change, FW will indicate wake up frame
with HTT_T2H_MSG_TYPE_RX_OFFLOAD_DELIVER_IND htt msg and host
will handle this message to indicate to OS protocol stack.

Change-Id:  I5f4446de7ec3c4ff1c1de6fd6105429e0898291c
CRs-Fixed: 956416
(cherry picked from commit b5cb00e05b1db94a2869cc5becef3d777dbd560e)
2016-10-28 18:04:00 -07:00
Kai Liu
7f07073647 qcacld-3.0: Reduce hif usb remove time when card surprise-removed
qcacld-2.0 to qcacld-3.0 propagation

In USB solution, hif_usb_remove costs ~25s after card unplugged.
Test step is simple, do p2p listen, then unplug card. Sme session
close costs 15s. When do p2p listen, scan will be issued to fw, but this
cmd is stuck in smeScanCmdActiveList which cause session close cmd
eSmeCommandDelStaSession blocked and the timeout is 15s.

This solution is that remove scan from smeScanCmdActiveList
if scan cmd pending in active list when close session.

Change-Id: I9f1af72cefe80dca056d7a23e015caa746952330
CRs-Fixed: 1068739
(cherry picked from commit b3460026a8ae119ac660b3970c9e3cc8b999656d)
2016-10-28 18:03:58 -07:00
Liangwei Dong
9028d75166 qcacld-3.0: Fix invalid peer create after vdev down
qcacld-2.0 to qcacld-3.0 propagation

In a SNS case, driver receives ASSOC Req during the SAP
Stopping. The SAP stopping will issue WMI_VDEV_DOWN_CMDID
WMI command to firmware. And ASSOC req frame processing
will issue a WMI_PEER_CREATE_CMDID WMI command to firmware.
Then the firmware crash happens because firmware can't find
the necessary BSS information to create the peer. Firmware
doesn't support peer create after BSS down.
The fix is to ignore the ASSOC Req frame while the deleting
BSS is ongoing.

Change-Id: Ib517642da4fc6b4778ef1ce4e6afd92fa3edb112
CRs-Fixed: 1053809
(cherry picked from commit 2118b5d37d9294a22cff60ec5bd2b7baf4a34cae)
2016-10-28 18:03:56 -07:00
Liangwei Dong
b3f26cc4f5 qcacld-3.0: Fix P2P GO vdev start failure
qcacld-2.0 to qcacld-3.0 propagation

In case of P2P device and P2P GO using seperated
interface, if P2P Device interface listen (remain on
channel) with long duration is active, P2P GO interface
vdev start command will be timeout.
In shared interface case, driver will cancel existing
P2P listen during interface type changing from P2P device
to P2P GO in __wlan_hdd_cfg80211_change_iface. There
is no such issue.
This fix is to extend the canceling logic just before P2P GO
starting to avoid the vdev start timeout in first case.

Change-Id: I5c5903bc5eded417ede670025c241daf73b96700
CRs-Fixed: 1022238
(cherry picked from commit 696a5a4e110482bcf873b6c657fe621aa2dd8b8e)
2016-10-28 18:03:54 -07:00
Liangwei Dong
8baf7c8ab0 qcacld-3.0: Fix acs_cfg.ch_list memory leak
qcacld-2.0 to qcacld-3.0 propagation

If ACS failed, the __wlan_hdd_cfg80211_stop_ap
will not be called to free the ch_list.
Add new API wlan_hdd_undo_acs to do cleanup of
DO_ACS to free ch_list memory. And call the API
in hdd_deinit_adapter to fix ch_list leak issue.

CRs-Fixed: 1002207
Change-Id: If3285739f2387928a1d7578f9d14089a486a6d9e
(cherry picked from commit e55d0c20e574a63b5002650529054ace24ad7cad)
2016-10-28 18:03:53 -07:00
Service qcabuildsw
ebec307da5 Merge "qcacld-3.0: Fix compilation errors when enable OL_TX_SCHED_RR" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:41 -07:00
Service qcabuildsw
1e0dc42d0e Merge "qcacld-3.0: Fix sme active list timeout by tdls" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:40 -07:00
Service qcabuildsw
048ed036d0 Merge "qcacld-3.0: WMA has to del sta if auth frame is received while connecting" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:39 -07:00
Service qcabuildsw
331562d37d Merge "qcacld-3.0: Destroy tx_frm_download_comp_event in wma_close" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:39 -07:00
Service qcabuildsw
f419b526df Merge "qcacld-3.0: add channel 144 in sap channel leakage matrix" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:38 -07:00
Service qcabuildsw
c277ab326c Merge "qcacld-3.0: Handle dfs channel switch failure" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:38 -07:00
Service qcabuildsw
1189937fac Merge "qcacld-3.0: wma: fix same peer created again issue" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:37 -07:00
qcabuildsw
5a25569103 Merge "Release 5.1.0.33F" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:37 -07:00
Service qcabuildsw
aaeffdf5b9 Merge "qcacld-3.0: Set maximum channel width correctly" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:36 -07:00
qcabuildsw
030f94c44e Merge "Release 5.1.0.33E" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:35 -07:00
Service qcabuildsw
c15a11f4b1 Merge "qcacld-3.0: Do not free node if qdf_list_remove_node fails" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:35 -07:00
qcabuildsw
ce86228dbf Merge "Release 5.1.0.33D" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:33 -07:00
Service qcabuildsw
075d500b58 Merge "qcacld-3.0: Add support to log roam events in DPTRACE" into wlan-cld3.driver.lnx.1.1-dev 2016-10-28 10:23:33 -07:00
Service qcabuildsw
aca9912cc3 Merge "qcacld-3.0: Reset the parameters which overrides the ACS" into wlan-cld3.driver.lnx.1.1-dev 2016-10-26 22:00:57 -07:00
gbian
d19fce6f8e qcacld-3.0: Fix compilation errors when enable OL_TX_SCHED_RR
qcacld-2.0 to qcacld-3.0 propagation

Fix compilation errors when enable OL_TX_SCHED_RR.

Change-Id: I2e0ae4d5cae8ad991f060d1276dcae6a4a46bdce
CRs-Fixed: 1020665
2016-10-26 15:42:02 -07:00
Frank Liu
d32281cbb5 qcacld-3.0: Fix sme active list timeout by tdls
propagation from qcacld-2.0 to qcacld-3.0.

If tdls commands fail before it's really executed, the
commands in active list will not be removed and timeout.

Change-Id: Ie10458dcdef9571520b995d1879b499fe855ce2a
CRs-Fixed: 962237
2016-10-26 15:42:00 -07:00
Kai Liu
ffd2bb7166 qcacld-3.0: WMA has to del sta if auth frame is received while connecting
qcacld-2.0 to qcacld-3.0 propagation

It's a fix for sns issue. Set DUT as sap, ref client sends assoc req
to DUT and as part of this frame processing lim does ADD_STA and posts
eWNI_SME_ASSOC_IND to sme layer. Before SME layer sends eWNI_SME_ASSOC_CNF,
DUT receives auth frame which triggers deauth. In this case lim layer
will delete ref client's related info, but wma layer doesn't get any
notification.

To fix this lim has to notify wma to do DEL_STA for that peer.

Change-Id: Id4aae51aae3fb68e752d09793ad3bce17665fc2e
CRs-Fixed: 979687
2016-10-26 15:41:59 -07:00
Kai Liu
27f2037fa6 qcacld-3.0: Destroy tx_frm_download_comp_event in wma_close
qcacld-2.0 to qcacld-3.0 propagation

Currently tx_frm_download_comp_event is used in Mcthread and destroyed
in wma_stop, when wma_stop is called, Mcthread has not exited yet.
In stress test, this event is destoryed but Mcthread is still using,
so crash occurs.

Solution is that destroy event in wma_close to avoid the case that after
destroy this event is still used.

Change-Id: I7d4e97ab261f586edfb90268544a2cda4e90a0b2
CRs-Fixed: 958906
2016-10-26 15:41:57 -07:00
Kai Liu
e30491fbfe qcacld-3.0: add channel 144 in sap channel leakage matrix
qcacld-2.0 to qcacld-3.0 propagation

Host driver will use sap channel leakage matrix to identify whether
this channel is leakage due to radar detected in sap channel. channel
144 is missed in this table.

Change-Id: I15b8cce29da8ba5d7beef1b4e684200121a4aa61
CRs-Fixed: 945408
2016-10-26 15:41:55 -07:00
Liangwei Dong
87a1ecce02 qcacld-3.0: Handle dfs channel switch failure
qcacld-2.0 to qcacld-3.0 propagation

We need to stop SAP bss and destroy the SAP
session if the channel switch failed. Otherwise,
the vdev will leak and it will cause SoftAP
start failed in following test.

Change-Id: Ieb3a2d62c8698f245f787be3c215ee4365b2e8ba
CRs-Fixed: 944741
2016-10-26 15:41:54 -07:00
Liangwei Dong
7d845118f8 qcacld-3.0: wma: fix same peer created again issue
qcacld-2.0 to qcacld-3.0 propagation

This change fixes the connection issue in ap+ap mode.
One peer may connect to the second ap while another ap
still has the connection with this peer, so the same
peer may be created twice.

Change-Id: I898ec326fb8cf080e8fa0b4737c897fc790633a0
CRs-Fixed: 955241
2016-10-26 15:41:52 -07:00
qcabuildsw
cb0615103a Release 5.1.0.33F
Release 5.1.0.33F

Change-Id: Ibe5000be1fe1781a66e24fe12616e5f303cd9cdb
CRs-Fixed: 688141
2016-10-26 15:04:53 -07:00
Amar Singhal
833aa96a5b qcacld-3.0: Set maximum channel width correctly
In case channel width is defined to be CH_WIDTH_MAX; channel width
set to CH_WIDTH_80P80MHZ. This can be incorrect if the secondary
frequency segment is not defined. So conditionally set maximum
channel width to CH_WITH_160MHZ.

CRs-Fixed: 1082221
Change-Id: Iff28c56de56e5481814b4710eb51920a88f0f5f7
2016-10-26 15:04:51 -07:00
qcabuildsw
21a4e5139f Release 5.1.0.33E
Release 5.1.0.33E

Change-Id: I6484d08803eb680de466b36d13e504a1781b3ece
CRs-Fixed: 688141
2016-10-26 14:13:29 -07:00
Naveen Rawat
1a3dac6d94 qcacld-3.0: Do not free node if qdf_list_remove_node fails
In function __lim_process_sme_register_mgmt_frame_req, check for
return of qdf_list_remove_node before freeing node.

Change-Id: Ie52f298427e5b006b95f5248ce588d97e2c6aa72
CRs-Fixed: 1081795
2016-10-26 14:13:27 -07:00
Kondabattini, Ganesh
2836c5a199 qcacld-3.0: Reset the parameters which overrides the ACS
qcacld-2.0 to qcacld-3.0 propagation

When restarting SAP due to unsafe channel list, make sure to set
the acs_channel and sapConfig.channel to 0. Otherwise these
parameters overides the ACS logic.

Change-Id: I52d8575960e4d5bac5aa509df41c20fb846a96e6
CRs-Fixed: 1031468
2016-10-26 12:43:45 -07:00
qcabuildsw
2ef0b049cf Release 5.1.0.33D
Release 5.1.0.33D

Change-Id: I00ce08cc93883ce02ee33c02449845049d2814eb
CRs-Fixed: 688141
2016-10-26 10:49:11 -07:00
Himanshu Agarwal
67a863b1b9 qcacld-3.0: Add support to log roam events in DPTRACE
Add support to log all the roam related commands and events
in DPTRACE.

Change-Id: I66773fc23dfeacf3a63688819e099bf44676d95b
CRs-Fixed: 1081851
2016-10-26 10:49:10 -07:00
qcabuildsw
5272981b79 Release 5.1.0.33C
Release 5.1.0.33C

Change-Id: I71a53ca2b97fa21572f5e79e9e05211276221b44
CRs-Fixed: 688141
2016-10-25 23:12:30 -07:00
Padma, Santhosh Kumar
af9f08cb06 qcacld-3.0: Use connected AP channel during reassoc to same AP
Currently channel zero is configured by sigma dut when reassoc
to same AP is issued. This results in failure as this is invalid
channel. Fix this by passing channel of connected AP.

Change-Id: I1fbdc10256b59d7ca49256461244566e04a52df5
CRs-Fixed: 1081234
2016-10-25 23:12:29 -07:00
qcabuildsw
460d23904a Release 5.1.0.33B
Release 5.1.0.33B

Change-Id: I055388a8fc8b890aad48dc978e8d25ce1decd6ce
CRs-Fixed: 688141
2016-10-25 21:57:47 -07:00
Naveen Rawat
224ae9c025 qcacld-3.0: Send ASSOC_IEs only in connected state
In function csr_roam_offload_scan do not populate ASSOC IE(which are only
required in connected_state) in a non-connected state. Otherwise it will
access connected BSS descriptor which is not avaiable in non-connected state.

Change-Id: I9cb0b6f6a49b25c2bd74c5e2140e8fe8919f3f44
CRs-Fixed: 1081198
2016-10-25 21:57:46 -07:00
qcabuildsw
ba4f59d185 Release 5.1.0.33A
Release 5.1.0.33A

Change-Id: I49bd8286d6989dd3b0af6368cb1e85e2adda7f38
CRs-Fixed: 688141
2016-10-25 13:25:40 -07:00
Archana Ramachandran
249f038677 qcacld-3.0: Report correct TX ack status to supplicant
Host driver reports TX ACK status as success when FW sends
failure status. Due to this supplicant is not retrying the
P2P confirmation frame resulting in Go Negotiation failure.
P2P negotiation state machine can be messed up for other
negotiation action frames as well.

Change-Id: I9a22bd542aea32c7cbac11107fe8b6c9785a2ac1
CRs-Fixed: 1079970
2016-10-25 13:25:39 -07:00
qcabuildsw
740580e82d Release 5.1.0.33
Release 5.1.0.33

Change-Id: I6ab1adcfc117c9572bdfc8607e03224e587db476
CRs-Fixed: 688141
2016-10-25 11:26:52 -07:00
Dustin Brown
0ce56d3b83 qcacld-3.0: Fix SAP 'Channel Avoid' Build Issues
The CLD driver does not compile when FEATURE_WLAN_CH_AVOID is not
defined. Fix related issues.

Change-Id: I3c3f14c16bd6a004670b6105231e591a13039fdc
CRs-Fixed: 1078863
2016-10-25 11:26:51 -07:00
qcabuildsw
8284e5b398 Release 5.1.0.32Z
Release 5.1.0.32Z

Change-Id: Id024ebd4acdc9a6d1ab2d9b083bd48154459ab88
CRs-Fixed: 688141
2016-10-25 08:49:54 -07:00
Amar Singhal
b7fe2611ea qcacld-3.0: Disable non-20 mhz 2G world regulatory channels
The minimum bandwidth supported is 5 MHZ. Kernel API
wiphy_apply_custom_regulatory can enable channels 12/13
with BW 5/10 even for reg rule 2402-2472. Circumvent the issue
by doing a check in the driver.

Change-Id: I9ad600eda2e507312a3016aa6d1fe6fdc41724f2
CRs-Fixed: 1079851
2016-10-25 08:49:53 -07:00
qcabuildsw
a87e2feaf8 Release 5.1.0.32Y
Release 5.1.0.32Y

Change-Id: I6f77d6d63b9df530ab730303092e670b6b4c53b7
CRs-Fixed: 688141
2016-10-25 06:37:24 -07:00
Hanumanth Reddy Pothula
709a636c8a qcacld-3.0: Un-initialize modules after closing cds schedulers
During driver un-initialization, cds scheduler is closed after
un-initializing lower layer modules. This may lead to crash as
there is possibility of MC thread to process commands after
lower layer objects are uninitialized/freed.

Un-initialize lower layer modules after closing cds schedulers.

Change-Id: Ia43ca4f95c5b40aeb14976b523008e650ba26e10
CRs-Fixed: 1079196
2016-10-25 06:37:23 -07:00
qcabuildsw
d411cbc065 Release 5.1.0.32X
Release 5.1.0.32X

Change-Id: I0fcf961f46cb83356c6f0a170cc90b130db4f517
CRs-Fixed: 688141
2016-10-25 05:10:11 -07:00
Himanshu Agarwal
0c66b1c758 qcacld-3.0: Remove unwanted error messages
Propagation from qcacld-2.0 to qcacld-3.0.

Error level logs should be used only for error conditions.
Add changes to move unwanted logs to info level.

Change-Id: Ib5b3e1235ad36cf0594291f33e84758261e4d422
CRs-Fixed: 1049765
2016-10-25 05:10:10 -07:00