Commit Graph

2387 Commitit

Tekijä SHA1 Viesti Päivämäärä
Bhargav Shah
a89d3b4d80 qcacld-3.0: Avoid race condition when vdev is deleted
qcacld-2.0 to qcacld-3.0 propagation

If SME posts message to WMI after vdev_detach happens,
there can be a race condition.
In this case VDEV_SET_PARAM will be called after VDEV_DELETE.
Fix this with introduction of new Boolean flag "is_vdev_valid" which
will be true after VDEV_CREATE is done. This flag will be false
when deletion of vdev happens.
WMI will do VDEV_SET_PARAM only if "is_vdev_valid" true.

Change-Id: Idffd0979bd9bdefa1225d2ea6a24180d81000f48
CRs-Fixed: 964146
2016-10-07 12:54:30 -07:00
qcabuildsw
81eb2b3f6e Release 5.1.0.29R
Release 5.1.0.29R

Change-Id: I7d4d89b51ab0e2e0b0b258c41fa14699cdfcb982
CRs-Fixed: 688141
2016-10-07 09:49:04 -07:00
Nitesh Shah
4c48af3db1 qcacld-3.0: Update BW for interface when moving to single MAC mode
If the device is operating in MAC0 and MAC1. If the interface
present is MAC0 is removed, the interface in MAC1 moves to MAC0.
But the bandwidth for the interface is not updated properly.

The fix is to update the bandwidth of the MAC1's interface when
the MAC0's interface is removed, and is replaced by MAC1's
interface.

Change-Id: If114167f66d13a3660f9b92b72706bfc2e782b50
CRs-Fixed: 1073581
2016-10-07 09:49:03 -07:00
Nitesh Shah
877ad5d74d qcacld-3.0: Update hw_mode_list as per WMI_SERVICE_READY_EXT_EVENT
Driver updates its hw_mode_list entries as per hw_mode_list
given by firmware during WMI_SERVICE_READY_EVENT.

The enhancement is to update hw_mode_list entries in the driver
using the values received in WMI_SERVICE_READY_EXT_EVENT from
the firmware.

Change-Id: I5e4d97523cb7fd018767d5d2fda841f03b2406f6
CRs-Fixed: 1070005
2016-10-07 09:49:02 -07:00
Nitesh Shah
d60bde2bb6 qcacld-3.0: Move a cds log to appropriate log level
A cds log for cds_get_channel_list() is printing quite often
and spamming the kernel logs. This log is not for error.
Hence moving this to appropriate log level.

Change-Id: I5d037f47729b612d6754e64f46b627998ec026f8
CRs-Fixed: 1072651
2016-10-07 09:49:00 -07:00
qcabuildsw
a546aea62d Release 5.1.0.29Q
Release 5.1.0.29Q

Change-Id: I3faed7c8d2e5e2c6b331ea79a8ac3e988c542579
CRs-Fixed: 688141
2016-10-07 08:32:06 -07:00
Rajeev Kumar
9bb2e85aff qcacld-3.0: Power offload unit test framework enhancements
Recently host power offload suspend/resume has switched to 3
stage process. Enhance power offload unit test framework accordingly,
and improve error handling.

Change-Id: I8cc1e955fbaca631ee7fd76b0c907d1e68c836bf
CRs-Fixed: 1072423
2016-10-07 08:32:05 -07:00
qcabuildsw
45d62ce21f Release 5.1.0.29P
Release 5.1.0.29P

Change-Id: I290bcc4977b1c9267c4885750a1707386605be18
CRs-Fixed: 688141
2016-10-06 11:24:31 -07:00
Hanumanth Reddy Pothula
47d2926b35 qcacld-3.0: In FTM mode, don't update config param, max peer limit
Presently, driver configuration from FTM mode to any other mode
is failing due to start module is failing, because configuration
parameter(max peer limit) is set to zero during FTM mode
initialization.

In FTM mode, during start modules, don't update configuration
parameter, max peer limit.

Change-Id: Ie5adea45b2dac099e797a1e25536cc959f3d5525
CRs-Fixed: 1073593
2016-10-06 11:24:30 -07:00
qcabuildsw
489e79b099 Release 5.1.0.29O
Release 5.1.0.29O

Change-Id: Idb4a6f647a160cf9d76a98f1ff59a0542598eb08
CRs-Fixed: 688141
2016-10-06 08:14:45 -07:00
Jeff Johnson
db6f9c45e2 qcacld-3.0: Remove obsolete wlan_hdd_mib.h
All in-code references to wlan_hdd_mib data structures have been
removed from the driver, so delete the mib structure from the adapter
context and the remove the header file itself.

Change-Id: I774d16df363d069eae1616807ce6f80da4800bb4
CRs-Fixed: 1073739
2016-10-06 08:14:44 -07:00
Jeff Johnson
6716a4ad9e qcacld-3.0: Remove obsolete connDot11DesiredBssType
All users of connDot11DesiredBssType have been converted to better
supported interfaces, so remove all traces of this field.

Change-Id: Iabfc4642a500587abd1f10d4fbc3f9e88f627a83
CRs-Fixed: 1073739
2016-10-06 08:14:42 -07:00
Jeff Johnson
229416002f qcacld-3.0: Remove obsolete hdd_conn_get_connected_bss_type()
Function hdd_conn_get_connected_bss_type() is no longer being used, so
remove it.

Change-Id: I0aafea43631d0ab8d3a99d8e913392f6090cd124
CRs-Fixed: 1073739
2016-10-06 08:14:41 -07:00
Jeff Johnson
9edf957229 qcacld-3.0: Avoid eMib_dot11DesiredBssType in cfg80211
Currently in wlan_hdd_cfg80211.c wlan_hdd_try_disconnect() calls
hdd_conn_get_connected_bss_type() which returns a value of
eMib_dot11DesiredBssType.  This type is being deprecated so directly
use the adapter's device_mode.

Change-Id: Ib8981750475bd27818a0c7e4e386396869d90e69
CRs-Fixed: 1073739
2016-10-06 08:14:38 -07:00
Jeff Johnson
9eeed0aedb qcacld-3.0: Cleanup strange behavior in __iw_set_mode()
__iw_set_mode() currently uses hdd_conn_get_connected_bss_type() to
see if the adapter is connected, discarding the connectedBssType
returned by the function.  That is not the correct API for this use
case. Clean up this strange behavior by using hdd_conn_is_connected()
to see if the adapter is connected.

Change-Id: I66f85fb8275ae2885012ebf8710187b2b886dfb0
CRs-Fixed: 1073739
2016-10-06 08:14:36 -07:00
Jeff Johnson
d6e4b639f8 qcacld-3.0: Cleanup strange behaviors in __iw_set_essid()
__iw_set_essid() currently has a few strange behaviors:
* It currently rejects any request when in IBSS mode.
* It currently uses hdd_conn_get_connected_bss_type() to see if the
  adapter is connected, discarding the connectedBssType returned by
  the function.
* It currently uses the conn_info.connDot11DesiredBssType field to
  determine the BSS type, but this field is being deprecated.

Clean up these behaviors by allowing IBSS mode, by using
hdd_conn_is_connected() to see if the adapter is connected, and by
using the adapter device_mode to determine the BSS type.

Change-Id: I0180eb70487dd664c1cb85eee9a4d53eb7cb14a9
CRs-Fixed: 1073739
2016-10-06 08:14:34 -07:00
qcabuildsw
71e0316eda Release 5.1.0.29N
Release 5.1.0.29N

Change-Id: I593a4500492dfb1d713fe604cbb892b6a2b3af3a
CRs-Fixed: 688141
2016-10-06 04:08:58 -07:00
Agrawal Ashish
06e76d2909 qcacld-3.0: Populate correct supported rates from hostapd.conf file
qcacld-2.0 to qcacld-3.0 propagation

Currently driver populates default supported and extended supported
rates in beacons even if hostapd.conf file wants to change
supported and extended supported rates.
Fix this by parsing beacon head and tail to get supported
and extended rates and populate them in sap config.
If Driver force acs is enabled, driver acs will get priority.
In case of driver based acs, driver should
ignore basic and extended rates from hostapd.conf and should
populate default rates.

Change-Id: I3226438b908a96f1b1bd3c2968a0c20eef81a799
CRs-Fixed: 1035768
2016-10-06 04:08:57 -07:00
Agrawal Ashish
b2d1a45a78 qcacld-3.0: Add support for legacy off channel notification in case of p2p-GO
qcacld-2.0 to qcacld-3.0 propagation

In this feature,
1) When a legacy client connects to P2P GO, Host will indicate FW
   to stop NOA and start CTS2SELF.
2) Ini Support for this feature.

Change-Id: If76d8ef454633d9a02dd6057b5d6ca3e9e639ea4
CRs-Fixed: 932264
2016-10-06 04:08:49 -07:00
qcabuildsw
05910db713 Release 5.1.0.29M
Release 5.1.0.29M

Change-Id: I5a16e164585382540061d911a7afc90d62b06cbf
CRs-Fixed: 688141
2016-10-05 15:02:42 -07:00
Dustin Brown
38f2b5584c qcacld-3.0: Fill regulatory info before wiphy init
Currently, some regulatory information is being populated after it may
be needed by wiphy for initialization. Reorder the order of execution to
populate this data before it is needed by wiphy.

Change-Id: I218c19c84b6c7f0f62a94b211201281939838438
CRs-Fixed: 1074146
2016-10-05 15:02:41 -07:00
qcabuildsw
55780b5599 Release 5.1.0.29L
Release 5.1.0.29L

Change-Id: Id70f535bab06f14d17eb8e774475010768a57481
CRs-Fixed: 688141
2016-10-05 13:54:08 -07:00
Archana Ramachandran
75c1ca7de8 qcacld-3.0: Fix HDD logging API in wlan_hdd_assoc
HDD should use new logging API i.e., hdd_*

CRs-Fixed: 937586
Change-Id: Iabe36591e6aae45cb837f0f434ccafd743f3b746
2016-10-05 13:54:07 -07:00
qcabuildsw
a2bbaddd9d Release 5.1.0.29K
Release 5.1.0.29K

Change-Id: Icdfe0c05382e946e76f3e34bc7a5542aba5f4da8
CRs-Fixed: 688141
2016-10-05 11:55:31 -07:00
Manjunathappa Prakash
acf3561f35 qcacld-3.0: Do NULL check on adapter->dev in hdd_lro_flush
Fix the issue due NULL pointer access on adapter->dev.
One of the instance this happened is inside __hdd_hostapd_uninit().

Change-Id: Ie2a3e41d446261cd32729b8eb8f12e23134a8828
CRs-Fixed: 1073808
2016-10-05 11:55:30 -07:00
qcabuildsw
0a4bd746b2 Release 5.1.0.29J
Release 5.1.0.29J

Change-Id: If9de5595f4d45a7fb38b34d608e953fea7f1aa8f
CRs-Fixed: 688141
2016-10-05 07:48:06 -07:00
Arun Khandavalli
ca198b5eb5 qcacld-3.0: Allocate memory for set_offload and program at once
qcacld-2.0 to qcacld-3.0 propagation

Presently, in BPF set_offload structure and the filter program are
allocated separately. In certain error paths the program is not
freed correctly because of which there can be memory leaks.
Have a single allocation for the set_offload and program to avoid any
memory leaks.

Change-Id: I097d3408cc89c26e015fd6aee8668f53e8f64cf7
CRs-Fixed: 1006522
2016-10-05 07:48:04 -07:00
qcabuildsw
87499b66d7 Release 5.1.0.29I
Release 5.1.0.29I

Change-Id: I810890166547a413bfbdfa053417e2bb5ddfafc2
CRs-Fixed: 688141
2016-10-05 03:59:08 -07:00
Komal Seelam
f2136bb225 qcacld-3.0: Enable Runtime PM after first interface is up
Enable Runtime PM after first interface is up and disable it when
the last interface goes down. The current logic is enabling runtime
pm too early, causing crashes.

Change-Id: I486409bd8375de327b724fc16ab32b4907c1c093
CRs-Fixed: 1072520
2016-10-05 03:59:07 -07:00
qcabuildsw
a6b5859c3b Release 5.1.0.29H
Release 5.1.0.29H

Change-Id: I2003527c690cf8217aa9a1b9decc6dc8f90c3e09
CRs-Fixed: 688141
2016-10-05 03:13:24 -07:00
Vidyullatha Kanchanapally
5d0a83e23c qcacld-3.0: Buffer delTs if an addTs is buffered
qcacld-2.0 to qcacld-3.0 propagation

Currently when an addTs is buffered for processing in SME
and a delTs for the corresponding addTs is issued, the delTs
is getting dropped since the addTs has not yet been processed.
Fix this by buffering the delTs command if a corresponding flow
is not found.

Change-Id: Ib759ee7f2a5d4c089d5362f93568fb4dd6eda8cf
CRs-Fixed: 1008956
2016-10-05 03:13:23 -07:00
qcabuildsw
86d3824fbd Release 5.1.0.29G
Release 5.1.0.29G

Change-Id: I6efe93cc37529f9834f73f45a04bd806263baa04
CRs-Fixed: 688141
2016-10-05 00:34:13 -07:00
Komal Seelam
af61ccdcb1 qcacld-3.0: Fix wrong use of Runtime get API inplace of Runtime put
Wrong use of runtime get results in mismatch in runtime pm usage count.
Hence fix it by calling runtime put API instead of get API.

Change-Id: I89dfcd2d1ad980df47f2244c9fcac5a68ac27d71
CRs-Fixed: 1072520
2016-10-05 00:34:12 -07:00
qcabuildsw
4d8acdd693 Release 5.1.0.29F
Release 5.1.0.29F

Change-Id: I9d8ff53b4fc51fcebe1d6f721c0f2060d1865f18
CRs-Fixed: 688141
2016-10-04 23:00:48 -07:00
Vidyullatha Kanchanapally
87b224f183 qcacld-3.0: Get operating channel only when connected or bss started
qcacld-2.0 to qcacld-3.0 propagation

wlan_hdd_mgmt_tx can be called in not-connected state in case of
station mode. Here the operating channel is fetched from the connected
info without actually checking whether the sta interface is connected
or not and hence can lead to making a wrong decision whether or not
to request ROC. Fix the above issue by fetching the operating channel
only in connected state. In not-connected state driver always goes
for requesting a ROC. Add similar check in case of soft ap and
P2P-GO to get operating channel only when the bss is started.

Change-Id: I91571f3b6a4f68487afcddd3152f469ff502eb6b
CRs-Fixed: 957469
2016-10-04 23:00:47 -07:00
Vidyullatha Kanchanapally
518c5d7979 qcacld-3.0: Append EC IE and Interworking IE to beacon
qcacld-2.0 to qcacld-3.0 propagation

Supplicant is sending Extended capabilities (EC) IE and
Interworking IE as part of beacon IEs to the driver but
the driver is not looking for these IEs when populating
the beacon. To fix this append the EC IE and Interworking
IE to the beacon template.

Change-Id: I6e19bfacb6f83526ce80d59cf43c23c6e2a77233
CRs-Fixed: 964594
2016-10-04 23:00:45 -07:00
Sriram Madhvapathi
58f0e27b2b qcacld-3.0: Fix IBSS peer info handling when no peers are connected
qcacld-2.0 to qcacld-3.0 propagation

wma_ibss_peer_info_event_handler returns error when peer_info is NULL.
However, peer_info can be NULL in case num_peers connected is 0.
Handle this case in hdd_get_ibss_peer_info_cb so that callers of
GETIBSSPEERINFOALL do not see stale results after all connected peers
have left the IBSS. Also, log the errors for enabling debug and reset
the ibss_peer_info statistics.

Change-Id: I913748bf11f9362e5faaaf29c26fc39fda85f4a9
CRs-Fixed: 1007555
2016-10-04 23:00:42 -07:00
qcabuildsw
3ccc850439 Release 5.1.0.29E
Release 5.1.0.29E

Change-Id: Ic6282439799d7322837636c9855d8fad73caa870
CRs-Fixed: 688141
2016-10-04 22:30:00 -07:00
Sen, Devendra
4bbf40a0eb qcacld-3.0: Fix TDLS peer QoS capability in transport layer
qcacld-2.0 to qcacld-3.0 propagation

In __wlan_hdd_cfg80211_tdls_oper, since IS_ADVANCE_TDLS_ENABLE
is disabled, the tdlsLinkEstablishParams does not get populated
with correct QoS capability of the peer. The transport layer is
then configured with this wrong capability. This results in all
packets, independent of TID, enqueued into BE queue. Fix this
by getting the QoS capability from hddTdlsPeer_t.

Change-Id: Iafbd416026c9a0e4b05654ec810b0e0f3546beba
CRs-Fixed: 1010915
2016-10-04 22:29:59 -07:00
qcabuildsw
a72a943073 Release 5.1.0.29D
Release 5.1.0.29D

Change-Id: I7b9b8ae7116ec104039f8e9b75b2d9a978bcd361
CRs-Fixed: 688141
2016-10-04 20:55:43 -07:00
Kapil Gupta
139c330d95 qcacld-3.0: Cancel Remain on channel command before stop ap
qcacld-2.0 to qcacld-3.0 propagation

If P2P-GO stop comes during ROC, it may cause WLANSAP_StopBss
API to fail. ROC is stuck as firmware is running Gscan which
is higher priority than p2p ROC scan prioirty.
This causes ROC command to be stuck in the active list for 10
seconds and will eventually cause a crash in FW when host will
try to add self peer since older peer is still present in the
FW with same mac address

Add change to increase the priority of P2P scan and cancel ROC
before calling stop AP API.

CRs-Fixed: 1065161
Change-Id: I3a62234596c8c2acc0155b483847b9adc159d757
2016-10-04 20:55:42 -07:00
Kapil Gupta
80f4a8dad8 qcacld-3.0: Correct IEs in beacon filter API
qcacld-2.0 to qcacld-3.0 propagation

IE's numbers are not set correctly in beacon filter API.

Add changes to correct this.

Change-Id: Ib489b0fc7bc1f0a2b7414f59ed325deecb65bb8e
CRs-Fixed: 1030084
2016-10-04 20:55:39 -07:00
Sreelakshmi Konamki
336e16e392 qcacld-3.0: Fix to update proper session_entry in lim_process_messages()
qcacld-2.0 to qcacld-3.0 propagation

In lim_process_messages(), few SME messages updates 'session_entry'
using SME session id. Host driver should not use SME session id in PE.

Fix to update 'session_entry' using pe_find_session_by_bssid().

Change-Id: Icebf4604d5a3a825afc6b1d3540bd228488ce267
CRs-Fixed: 1020643
2016-10-04 20:55:37 -07:00
Masti, Narayanraddi
2194de20ce qcacld-3.0: Register event in wma to track TDLS connection
qcacld-2.0 to qcacld-3.0 propagation

TDLS connection will teardown in host on receiving teardown
event from Firmware. But if host is in WOW mode then host will
not receive teardown event from FW.

To fix this issue add TDLS connection tracker event changes in WMA.

Change-Id: I3a305e95410d2884b41e9e4183ed4eeabd733f9d
CRs-Fixed: 991993
2016-10-04 20:55:35 -07:00
Abhishek Singh
c50055ab90 qcacld-3.0: If MCC is disabled do not roam to an AP which cause MCC
qcacld-2.0 to qcacld-3.0 propagation

Even though MCC is disabled by gEnableMCCMode ini, driver try to
roam to APs which may cause MCC but as MCC is disable the roaming
fails eventually in CSR while trying to connect to the new profile.

Driver creates a preauth session which is not deleted upon failure.
The session sme state is eLIM_SME_WT_REASSOC_STATE and thus fresh
scan required is set to false and cached scan result are returned.

Do not add the APs which cause MCC scenario, in preauth candidate
list if MCC is disabled.

Change-Id: Iae2a887e1fa34f89f340bd7392d757e1add97a16
CRs-Fixed: 992672
2016-10-04 20:55:33 -07:00
Abhishek Singh
49275561ed qcacld-3.0: Ignore beacon miss if CSA is in progress
qcacld-2.0 to qcacld-3.0 propagation

In case if CSA is in progress and beacon missed is received
the session is disconnected. Now if STA tries to connect to new
AP and at the same time CSA timer expires then tries to switch
channel. As old session is deleted this switch channel fails
as channel info is invalid. This also leads to LIM state change
and thus the roam command is not removed from active command
list.

To fix this:
 - Ignore beacon miss if CSA is in progress
 - In CSA timer add check to ensure that channel change is for
   current session.

Change-Id: Icbb80394e4870ccae19782ee17e37465020e93f9
CRs-Fixed: 1060378
2016-10-04 20:55:32 -07:00
Selvaraj, Sridhar
a11edcba42 qcacld-3.0: Enable kernel specific WiFiSON changes default from 4.7.0 kernel
Enable driver changes dependent on kernel flags CFG80211_SCAN_BSSID
and CFG80211_CONNECT_PREV_BSSID default for linux kernels starting
from version 4.7.0 as the dependent kernel changes are present from
this version.

Change-Id: I0ee25eb11c75c688becbf61b4424bd0bae28bd3a
CRs-Fixed: 1064018
2016-10-04 20:55:30 -07:00
Selvaraj, Sridhar
7f42b5f1d7 qcacld-3.0: Add OUI type(0x10) to HS2.0 IE frame parser
Add OUI type(0x10) to HS2.0 IE frame parser. In current implementation
without OUI type being set, the first IE with WFA OUI is parsed as
HS2.0 IE, even though the OUI type is not 0x10.

Change-Id: I63d97fc100f419c09bc22d1747f434fb9a5c3b06
CRs-Fixed: 1067816
2016-10-04 20:55:28 -07:00
qcabuildsw
dc802ae8e1 Release 5.1.0.29C
Release 5.1.0.29C

Change-Id: Ied83d163ac0172c248fcdbb567da97562707cb7a
CRs-Fixed: 688141
2016-10-04 18:58:42 -07:00
Hanumanth Reddy Pothula
9f4048fff7 qcacld-3.0: During con mode change stop netif queues
If user triggers con_mode change, while data transmissions are
happening, there is possibility of device crash, as data queues
are not stopped during con_mode change.

In con_mode handler, stop data queues before stopping modules.

Change-Id: I348d0da707ea4b706edfcd396adee32502180e3e
CRs-Fixed: 1070008
2016-10-04 18:58:41 -07:00