Commit Graph

3213 Commits

Author SHA1 Message Date
Varun Reddy Yeturu
3e213e5f36 qcacld-3.0: Do not invalidate HDD context if roaming in progress
Do not invalidate the HDD context if roaming is in progress.
Move the condition outside of the validation check

Change-Id: Idd56cbbc63ce56000f03fc47b6f1b78d53cb170f
CRs-Fixed: 1094301
2017-01-09 11:21:40 -08:00
Guolei Bian
ca144d8158 qcacld-3.0: reset sta_connected to 0 during SSR to avoid fw crash
qcacld-2.0 to qcacld-3.0 propagation

sta_connected flag check may fail when handle WLAN_STA_CONNECT event.
This will cause enable-ipa operation get skipped for the connect
operation. If a disconnect operation follows, it will invoke fw to
disable the ipa. Fw considers ipa to be disabled by default, so fw
will consider it be double-disable and trigger the crash.

Change-Id: Iaf4855eb1776e8c8c3b027d0ee2beb644063ef75
CRs-Fixed: 1079051
2017-01-09 11:21:38 -08:00
Wu Gao
77d283574f qcacld-3.0: Send protocol reason code instead of generic reason
propagation from qcacld-2.0 to qcacld-3.0

When assoc fail, send protocol reason code instead of generic
reason code. Customer complain that it just reports generic
reason for WPA2 AP and cause UI mismatch.

Change-Id: I1b237e70d30f08c364d5aa56182676affdfee105
CRs-Fixed: 1010832
2017-01-09 11:21:36 -08:00
Arif Hussain
b39eab4df0 qcacld-3.0: Fix Beamformee STS capability Info field
Revert “If26f49386b72864730679e05559b7bba80b5487a” changes
to advertise max value configured as per the WFA certification
requirement 5.2.63 STAUT acting as MU Beamformee.

Change-Id: Ib11f1f5cad89579277eba2e0b9f0cbc3ea26de5c
CRs-Fixed: 1093901
2017-01-09 11:21:34 -08:00
Arun Kumar Khandavalli
bffbe05c4c qcacld-3.0: Fill STATION_INFO_SIGNAL when returning cached value to upperlayer
qcacld-2.0 to qcacld-3.0 propogation.

When there is an get_station request from the upper layer during roaming,
the driver returns a cached rssi value but it dosent set the "sinfo->filled"
(station_info_flags) bit flag for the NL80211_STA_INFO_SIGNAL. If this flag
is not set the kernel dosen't update the cached rssi value to upper layer.
To mitigate this issue, set the "sinfo->filled" when returning the
cached value to the upper layer during roaming.

CRs-Fixed: 1084502
Change-Id: If62f7482c8153131daa2d0ea83596e5cd4e3f104
2017-01-09 11:21:32 -08:00
Hanumantha Reddy Pothula
6677a335ba qcacld-3.0: Do DEL_STA if driver gets deauth during ADD_STA
qcacld-2.0 to qcacld-3.0 propagation

Add new resultCode, 'eSIR_SME_JOIN_DEAUTH_FROM_AP_DURING_ADD_STA',
to make sure driver does DEL_STA follwed by DEL_BSS, if driver
receives DEAUTH frame when it's waiting for ADD_STA_RSP.

Change-Id: I697a8bf4e4f4d8b1063ad660395cea33031f1647
CRs-Fixed: 599416
2017-01-09 11:21:30 -08:00
Wu Gao
3671743bd5 qcacld-3.0: Stop SAP and indicate event more earlier after SSR
propagation from qcacld-2.0 to qcacld-3.0

DUT is SAP + STA SBSC mode, it takes very long time to recover after
SSR. There are two problems:

1. It clear STA session and create new after SSR, but just clear SAP
session. With sessionId in SAP context, it wrongly use new STA session
to close SAP when terminate hostapd. This is the reason why host wait
stop_bss_event for 10 seconds in cfg80211 stop ap. Set sessionId to
invalid if adapter is SAP mode.

2. In dual-wifi mode, it will start second WLAN if SSR and
WLAN_SVC_FW_CRASHED_IND late. Send this event more earlier.

Change-Id: I10a3f300ac5621463fcce4d0a5e18b2cf1cb8491
CRs-Fixed: 1054612
2017-01-09 11:21:28 -08:00
Hong Shi
e531d1f562 qcacld-3.0: Fix potential crash when setting monitor channel
qcacld-2.0 to qcacld-3.0 propagation

The tCsrRoamProfile memory is not initialized to 0 properly. For the
supported_rates field, it contains a rates array with max size 12
and an integer field numRates which is the actual length of the rates
array. If numRates is not initialized properly and value is unexpected.
it may cause memory access violation error.

CRs-Fixed: 1084846
Change-Id: Ic5b1a13356e835a1186c53768a1d8ab416c9365c
2017-01-09 11:21:26 -08:00
Kai Liu
0c2b5e57a0 qcacld-3.0: Store tx desc id in sk_buff instead of skb head
qcacld-2.0 to qcacld-3.0 propagation

In MDM ap+ap case, sometimes kernel issues two skb but has same mem
address of skb head and driver tx desc id is stored in skb head, so the
first id will be overwrote by the second one. Will hit crash when handle
the tx_desc.
The solution is storing tx desc id in sk_buff to avoid the case that two
skb has same tx desc id.

Change-Id: I2186a06ad3ec929683292c4c052904a18427cc64
CRs-Fixed: 951208
2017-01-09 11:21:25 -08:00
Hanumantha Reddy Pothula
3e5d6aae27 qcacld-3.0: Send disconnect indication to upperlayer after clean up in PE
qcacld-2.0 to qcacld-3.0 propagation.

Supplicant may send PNO command as disconnection was already informed
to supplicant while disconnection might still be in progress in PE
layer(DEL_STA/DEL_BSS).
Fix to send disconnect indication to upper layers after complete
cleanup.

Change-Id: I976044186eb8e79f709bda618b38815827a3e0c5
CRs-Fixed: 951162
2017-01-09 11:21:23 -08:00
Naveen Rawat
cd11831498 qcacld-3.0: Populate roam_request qos params from sme_session
While preparing roam_scan_offload_request in csr, populate QoS parameters
from current sme_session.

Change-Id: I8ec26b61babf15b622d2a96b304f068c15f78795
CRs-Fixed: 1092258
2017-01-09 11:21:21 -08:00
Naveen Rawat
d4c0c5475b qcacld-3.0: Check num_chn before accessing channel list array
In function csr_issue_11d_scan, num channels is fetched from mac_ctx
before being used to access channel list. Check it against
WNI_CFG_VALID_CHANNEL_LIST_LEN before accessing channel list.

Change-Id: I4ef21ca03e1227801aaed2d5598aba7b91fdf8d3
CRs-Fixed: 1091486
2017-01-09 11:21:19 -08:00
Naveen Rawat
e01ed17e07 qcacld-3.0: Fix buf_len check in lim_send_sme_wm_status_change_ntf
Function lim_send_sme_wm_status_change_ntf is generic function, where
input buffer length depends on status_change_code. Use same code while
checking as max length of input buffer in memcopy operation.

Change-Id: Ie0d761ce7f85c4be9b164d1a281119560d337e01
CRs-Fixed: 1091486
2017-01-09 11:21:17 -08:00
SaidiReddy Yenuga
bda2a525b8 qcacld-3.0: Add NULL check in hdd shutdown API
hif_ctx can be NULL and accessing it result in crash

Add NULL check for hif context to avoid crash

CRs-Fixed: 1072608
Change-Id: I979fd09fadb347585ae5a044277d3855d76f94ca
2017-01-09 11:21:15 -08:00
Wei Song
2f76f64da7 qcacld-3.0: Fix a racing condition in BSS starting path
qcacld-2.0 to qcacld-3.0 propagation

1) BSS starting path and STA disassoc path should use
different events to perform synchronization
2) BSS starting event object should be reset before
BSS starting/restarting procedure is initiated

Change-Id: I96efd052fa19227c55c4f3af96afa8d590037c2d
CRs-Fixed: 1091108
2017-01-09 11:21:13 -08:00
qcabuildsw
6fcd5b410c Release 5.2.0.4J
Release 5.2.0.4J

Change-Id: Ib51b260651205e61a63e6392fa8e7e97416066f1
CRs-Fixed: 688141
2017-01-09 06:15:54 -08:00
Venkata Sharath Chandra Manchala
f1ebe69a02 qcacld-3.0: Fix to accept scn handle parameter for ol_txrx_soc_attach
Modified the ol_txrx_soc_attach function definition to accept scn
handle parameter which is useful for making function calls
necessary for multi-radio support.

Change-Id: I842d2f184923f019e086f5c6d9b758624a20c8ae
2017-01-09 06:15:53 -08:00
qcabuildsw
1bc28443ff Release 5.2.0.4I
Release 5.2.0.4I

Change-Id: I355149898fcee52124ca65dff8c6fc2e876d6ea6
CRs-Fixed: 688141
2017-01-09 05:18:45 -08:00
Anurag Chouhan
7c01cc4212 qcacld-3.0: Add support to honour multiple scan plans
Add Support to configure multiple 'scan plans' for scheduled scan.
Each 'scan plan' defines the number of scan cycles and the interval
between scans. The scan plans are executed in the order they were
configured. The last scan plan will always run infinitely and thus
defines only the interval between scans
The maximum number of scan plans supported by the device and the
maximum number of iterations in a single scan plan are advertised
to userspace so it can configure the scan plans appropriately.

Change-Id: Ie4b76f84ac633f4328137283bdeb2829a942b3d0
CRs-Fixed: 1102402
2017-01-08 22:09:57 -08:00
qcabuildsw
f634952cc8 Release 5.2.0.4H
Release 5.2.0.4H

Change-Id: Ied9f489022203ab3fce76b6c2780dabe5f6b059f
CRs-Fixed: 688141
2017-01-06 14:38:52 -08:00
Poddar, Siddarth
3e766e0569 qcacld-3.0: Move TXRX_PRINT outside of peer_map_unmap_lock spinlock
Sometimes TXRX_PRINT is taking more time to process as
some other printks' are already in progress. As this TXRX_PRINT is
inside spinlock, so when some other core is also competing for
this spinlock, that core keeps iterating in a loop. After some
time spinlock bug is triggered as it is suspected that this core
is locked on this spinlock.

To fix this, move the TXRX_PRINT outside spinlock so that the other
core don't have to wait to acquire spinlock due to this TXRX_PRINT.

CRs-Fixed: 1107213
Change-Id: Ie6f8a7c8f9731883c2440641b8b9542f9d40c4a9
2017-01-06 14:38:51 -08:00
qcabuildsw
8737c758e1 Release 5.2.0.4G
Release 5.2.0.4G

Change-Id: I510de305eda7a0f4a77b5f93b4b1e3effa5f2119
CRs-Fixed: 688141
2017-01-06 11:40:27 -08:00
Selvaraj, Sridhar
0672a1213d qcacld-3.0: Add support for init/deinit with obj manager framework
Create the psoc, pdev, vdev, peer hierarchy by calling obj manager
API's in driver init/deinit code.

Change-Id: I804fd56fff0f72d69274dda2667efb6b681e4dda
CRs-Fixed: 1097219
2017-01-06 11:40:26 -08:00
qcabuildsw
3eebf18f9b Release 5.2.0.4F
Release 5.2.0.4F

Change-Id: I02920a469f7a67fd038ae296c6c056f7230d1f43
CRs-Fixed: 688141
2017-01-06 06:09:01 -08:00
Dustin Brown
562b96765e qcacld-3.0: Improve bus suspend/resume logging
Many branches in the bus suspend/resume code path are missing
appropriate logging. Add error logging for failure cases, and
info logging for enter/exit points.

Change-Id: Ia1d82e2a3d48335b31772a0fa7532ec99c08de4d
CRs-Fixed: 1104790
2017-01-06 06:09:00 -08:00
qcabuildsw
d6468c2fec Release 5.2.0.4E
Release 5.2.0.4E

Change-Id: Ide452fd0897f5abcce021dc6f31e8ffd916639ec
CRs-Fixed: 688141
2017-01-05 22:39:04 -08:00
Sarada Prasanna Garnayak
e1722637d5 qcacld-3.0: fix the runtime pm feature compilation error
Include missing header file to fix the undefined API compilation
error and removed unused variable.

CRs-Fixed: 1107859
Change-Id: I4dcf1b0bb19662ba2c1f3af197ca34b656be7d9a
2017-01-05 22:39:03 -08:00
qcabuildsw
fd219e4295 Release 5.2.0.4D
Release 5.2.0.4D

Change-Id: Ib799840a1478ae5fd238561ec6a2436f9ab90bb0
CRs-Fixed: 688141
2017-01-05 21:24:55 -08:00
Poddar, Siddarth
74c6719099 qcacld-3.0: Avoid checking for netif queues unpause in Data flow control when in Reassociating state
propagation from qcacld-2.0 to qcacld-3.0

During re-association, host does not enable the netif queues
and does not reset the pause bit map from Data flow control
if queues are already paused due to lack of enough descriptors
which is not correct and lead to disconnection.
Host has now centralised mechanism to pause/unpause netif queues
using bitmap, so there is no need to keep the netif queues in paused
state from data flow control path.
To fix this, remove the tx queue unpause check when in reassociation
state.

Change-Id: I8484a18dafbe02e06394a05b409256c586f59908
CRs-Fixed: 1104919
2017-01-05 21:24:54 -08:00
qcabuildsw
0afbcde099 Release 5.2.0.4C
Release 5.2.0.4C

Change-Id: I0768ec57d89e7fa325bc4a7812168b32aeb3c82a
CRs-Fixed: 688141
2017-01-05 15:43:59 -08:00
Yue Ma
0804752e83 qcacld-3.0: Enable to use certain platform driver APIs
Currently cnss_wlan_enable() and cnss_wlan_disable() APIs are only
used for a temporary emulation case for PCIe bus. Enable to compile
them for all cases for PCIe bus.

Change-Id: I27b1982f89e045564ed991c8a570ebf6a87bcf33
CRs-fixed: 1082183
2017-01-05 15:43:58 -08:00
qcabuildsw
419744f0e3 Release 5.2.0.4B
Release 5.2.0.4B

Change-Id: I04b82373b8640f563cadea94b44a3a345b71806d
CRs-Fixed: 688141
2017-01-05 12:06:48 -08:00
Jeff Johnson
d9f0860957 qcacld-3.0: Remove obsolete "frame_xln_reqd" flag
The current driver inherited support for the "frame_xln_reqd" flag
from a prior version of the driver. In the prior version of the driver
this flag was used to communicate to hardware whether or not
hardware-assisted data frame translation was required. However the
current driver does not use this flag, so remove it from the code.

Change-Id: I41047864de374c12a89fa031c6d38729a285262a
CRs-Fixed: 1075631
2017-01-05 12:06:46 -08:00
Jeff Johnson
b13a501758 qcacld-3.0: Properly export ol_tx_queue.c APIs
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in ol_tx_queue.c which is generating warnings
because not all public APIs have prototypes defined. Define the
missing prototypes for:
	ol_txrx_vdev_flush()
	ol_txrx_vdev_pause()
	ol_txrx_vdev_unpause()
	ol_tx_throttle_set_level()
	ol_tx_throttle_init_period()

In addition make the following private since they are now only called
internally to ol_tx_queue.c:
	ol_tx_pdev_peer_bal_timer()
	ol_tx_queue_log_alloc()
	ol_tx_queue_display()

Change-Id: I4a3d767c650eefc39c3bf51ce102c8b5de391ec5
CRs-Fixed: 1104127
2017-01-05 12:06:45 -08:00
Jeff Johnson
1330773c68 qcacld-3.0: Properly export ol_txrx_flow_control_cb()
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code which is generating warnings because not all
public APIs have prototypes defined. Define the missing prototype for
ol_txrx_flow_control_cb().

Change-Id: Ifb7fff891b237e6202cc96afd3ab2e21bc4f13aa
CRs-Fixed: 1104126
2017-01-05 12:06:43 -08:00
Jeff Johnson
f1ef13a9b4 qcacld-3.0: Properly export ol_tx.c APIs
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in ol_tx.c which is generating warnings because
not all public APIs have prototypes defined. Define the missing
prototypes for:
	ol_tx_send_ipa_data_frame()
	ol_tx_non_std()
	ol_txrx_mgmt_tx_cb_set()
	ol_txrx_mgmt_send_ext()

In addition make the following private since they are now only called
internally to ol_tx.c:
	ol_tx_non_std_ll()
	ol_tx_non_std_hl()

Change-Id: I29f334de30ab492f2ef6c422352d11c059e40f1b
CRs-Fixed: 1104125
2017-01-05 12:06:42 -08:00
Jeff Johnson
bacec0978c qcacld-3.0: Properly export ol_cfg.c APIs
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code in ol_cfg.c which is generating warnings
because not all public APIs have prototypes defined. Define the
missing prototypes for the following:
	ol_pdev_cfg_attach()
	ol_set_cfg_rx_fwd_disabled()
	ol_set_cfg_packet_log_enabled()

Change-Id: I787d4d7954751cda2878229d1d8967e1c168f95c
CRs-Fixed: 1104124
2017-01-05 12:06:41 -08:00
Jeff Johnson
b9b4934cfe qcacld-3.0: Properly export QCA_COMPUTE_TX_DELAY APIs
Currently the qcacld-3.0 driver does not build cleanly when compiled
with the gcc -Wmissing-prototypes switch. One set of warnings is due
to the QCA_COMPUTE_TX_DELAY APIs not being exported properly.  Address
the warnings by properly exporting these functions.

Change-Id: Ib0f8a43a4575caf5714709e7fab659aa0b6f3009
CRs-Fixed: 1103659
2017-01-05 12:06:39 -08:00
Jeff Johnson
199e70113e qcacld-3.0: Remove obsolete ol_cfg_set_flow_control_parameters()
Function ol_cfg_set_flow_control_parameters() is unused, so remove it.

Change-Id: I3755aff011903423af0e2c31a90b9b701ba78a92
CRs-Fixed: 1103127
2017-01-05 12:06:38 -08:00
qcabuildsw
db577c2bc1 Release 5.2.0.4A
Release 5.2.0.4A

Change-Id: Ib7d7fd47f95c0e43de5c7178094233354fba680f
CRs-Fixed: 688141
2017-01-05 12:06:37 -08:00
Tushnim Bhattacharyya
53bcb93027 qcacld-3.0: Add support for new 3 port concurrency combinations
Update or add policy rules for new 3 port concurrency cases:
STA+STA+SAP
SAP+SAP+STA
SAP+SAP+SAP

Change-Id: I6ca605808f1de7f8d31ee9a2f05b88491319e6f2
CRs-Fixed: 1068000
2017-01-05 12:06:35 -08:00
qcabuildsw
34cca97fec Release 5.2.0.4
Release 5.2.0.4

Change-Id: I60b9e65fe50315761cfde181e229ac0a73bcb3d1
CRs-Fixed: 688141
2017-01-05 12:06:33 -08:00
Poddar, Siddarth
c01681adda qcacld-3.0: Extend Get wakelock stats
Extend the wakelock stats to include all wakeup
reason counters. Included counters are:
wow_rssi_breach_wake_up_count
wow_low_rssi_wake_up_count
wow_gscan_wake_up_count
wow_pno_complete_wake_up_count
wow_pno_match_wake_up_count

propagation from qcacld-2.0 to qcacld-3.0

CRs-Fixed: 1097267
Change-Id: I2b95e294aae21fcf1e11b6b95a083268daa1acbd
2017-01-05 12:06:32 -08:00
qcabuildsw
bff2797ffd Release 5.2.0.3Z
Release 5.2.0.3Z

Change-Id: I35dc26a06d85d97037cb94883c98f350f06ecf79
CRs-Fixed: 688141
2017-01-05 12:06:30 -08:00
Paul Zhang
3a210c54ed qcacld-3.0: North bound I/F for phase3 convergence
The init version code change per north bound I/F
framewrok. Each individual component is supposed
to define its cfg80211 callback function and it
will do the code change accordingly.

Change-Id: Ib66085b7de91fb478d74cfa716ac50f6fead34a6
CRs-Fixed: 1098688
2017-01-05 12:06:29 -08:00
qcabuildsw
8bb6cbc794 Release 5.2.0.3Y
Release 5.2.0.3Y

Change-Id: Idec5b66f36ca93386119633f40dd223fec116eac
CRs-Fixed: 688141
2017-01-05 12:06:27 -08:00
Paul Zhang
e79e7db224 qcacld-3.0: Drop Action frame in FW config by host
Propagation from qcacld-2.0 to qcacld-3.0.

Several Action frame categories are not processed in host and they
are not forwarded to supplicant either, but they are dropped in host.
These unprocessed action frames are forwarded to host by FW and
wake up host unnecessarily which leads to battery drain. With this fix,
host conveys FW the disallowed action frames list at HDD startup
so that the remaining frames can be dropped in FW itself thereafter
when under WoW mode.

Change-Id: I40b49d42df94085784c8f1d8321de0ee61473ae0
CRs-Fixed: 999114
2017-01-05 12:06:25 -08:00
Rajeev Kumar
3e5ef0da16 qcacld-3.0: Remove obsolete MC thread message buffers from cds
After control path scheduler componentization CDS message buffers,
and message wrappers are no longer used hence remove them.

Change-Id: If6e915ffe27775511cb359adb704fa9e03653420
CRs-Fixed: 1107094
2017-01-04 17:39:44 -08:00
Rajeev Kumar
52333410ab qcacld-3.0: Remove obsolete cds_is_mq_empty API
After control path scheduler componentization cds_is_mq_empty
API is no longer used hence remove it.

Change-Id: I6b90d185d4faad7a02fca1b784dfea9b08213005
CRs-Fixed: 1106123
2017-01-04 17:39:43 -08:00
Rajeev Kumar
08ef0d620a qcacld-3.0: Remove obsolete cds_core_return_msg API
After control path scheduler componentization cds_core_return_msg
API is no longer used hence remove it.

Change-Id: I66122b918f0b27236b2b5ca454e52b0de20b16ee
CRs-Fixed: 1106115
2017-01-04 17:39:42 -08:00