Commit graph

2346 Commits

Autor SHA1 Nachricht Datum
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
qcabuildsw
5667e8d787 Release 5.1.0.29B
Release 5.1.0.29B

Change-Id: I86c15dd3f5aac7a57f68ffb77bb4b5d1d7c77e84
CRs-Fixed: 688141
2016-10-04 18:29:18 -07:00
Selvaraj, Sridhar
5c9146d3cf qcacld-3.0: Fix double mem free while using cds_send_mb_message_to_mac
cds_send_mb_message_to_mac function frees the input memory buffer
irrespective of the success/failure of the message posting to the
MAC message queue.

This changes fixes the cases where the input buffer is attempted to
be freed for fail case of cds_send_mb_message_to_mac

Change-Id: I920822bf0ee268adb1312eed20de53450802fdc8
CRs-Fixed: 1070461
2016-10-04 18:29:16 -07:00
qcabuildsw
66cc5ab765 Release 5.1.0.29A
Release 5.1.0.29A

Change-Id: I71e10aca878e8e98c7db25e006b60af02b331cc3
CRs-Fixed: 688141
2016-10-04 15:44:08 -07:00
Houston Hoffman
abaf6736eb qcacld-3.0: Reset skb->cb when forwarding intrabss packets
skb->cb has different meaning for rx & tx packets. Reset the
cb to avoid mis-interpretation of the data that leads to
eratic misbehavior the least of which is failure to forward
packets.

Change-Id: I5d1396c70cd93d165aa825c4408ad46d082693f3
CRs-Fixed: 1065769
2016-10-04 15:44:07 -07:00
Houston Hoffman
2359ca00da qcacld-3.0: Fix free_pool referencing in hdd_lro_desc_find
list_empty api does not work correctly on copied list head.
Need to point to the original free_pool memory so that the
spinlocking and list management apis work as expected on
the original memory.

Change-Id: I631466d156c83f70cb6ea06eec0e361081f294cc
CRs-Fixed: 1070258
2016-10-04 15:44:05 -07:00
qcabuildsw
987ce39054 Release 5.1.0.29
Release 5.1.0.29

Change-Id: I46dfb5811ffd936ad573818cbbbfd71340cc99f1
CRs-Fixed: 688141
2016-10-04 13:45:02 -07:00
Archana Ramachandran
dfb6f852b9 qcacld-3.0: Fix HDD logging API in wlan_hdd_p2p
Use only HDD logging API to prevent check patch errors

CRs-Fixed: 937681
Change-Id: I76b11c6783d123c727de4e88e46f9360ba54b0bd
2016-10-04 13:45:01 -07:00
Archana Ramachandran
e87005ca56 qcacld-3.0: Fix incorrect log levels in CFG INI
Reduce the level of non error logs to notice.

CRs-Fixed: 936397
Change-Id: Ia433e9ec2b9bae151591e1d9db95dfbdbe527281
2016-10-04 13:44:58 -07:00
qcabuildsw
f19292b172 Release 5.1.0.28Z
Release 5.1.0.28Z

Change-Id: I5c8c3ffe8ace5505359d4537f832d0a56cefe221
CRs-Fixed: 688141
2016-10-04 13:14:40 -07:00
Sandeep Puligilla
88de6fb765 qcacld-3.0: Fix call to duplicate vdev detach
Null pointer dereference due to duplicate vdev
detach call.
Vdev detach is triggered as part of the delete
self sta but in failure scenario del bss request
timeout handler also called the vdev detach
which triggered NULL pointer dereference in OL layer.

-Fix the del bss request timeout handler by adding
more condition checks specific to P2P as the changes
are related to P2P.
-Remove vdev stop from the vdev start timeout
handler.

Change-Id: Ibe848c89823efbb10f7dcc193157189106ba238b
CRs-Fixed: 1070817
2016-10-04 13:14:39 -07:00
qcabuildsw
c1485fdaeb Release 5.1.0.28Y
Release 5.1.0.28Y

Change-Id: Ifb088de83a4b42476391763c5bfadf988cc62570
CRs-Fixed: 688141
2016-10-04 12:40:53 -07:00
Padma, Santhosh Kumar
d7cc079983 qcacld-3.0: Add changes for DISA certification
Add changes to parse DISA parameters received from
user space and pass them to firmware for firmware
to encrypt data and send back to driver. Also, add
changes to print encrypted data received from firmware.

Change-Id: Ic6928a93f799c47518fbbad96564062f595287dd
CRs-Fixed: 1064970
2016-10-04 12:40:51 -07:00
qcabuildsw
62e91469ab Release 5.1.0.28X
Release 5.1.0.28X

Change-Id: I0524f3c0226d70ae28384e2c3e85043805d9201f
CRs-Fixed: 688141
2016-10-04 12:07:04 -07:00
Jeff Johnson
9cc0ed982a qcacld-3.0: Correctly report 20 MHz bandwidth in Linux 4.x
Linux kernel 4.0 introduced a new way for drivers to report bandwidth
information to userspace.  Prior to this rate information was
indicated by setting an appropriate BW flag in the struct rate_info
flags field, and 20MHz bandwidth was assumed if no flag was set.
Linux 4.0 introduced a new bw field to struct rate_info, and the
driver was updated to set this field in all cases where previously a
bandwidth-specific flag had been set.  Unfortunately in the 20 MHz
bandwidth case the driver was not previously setting a
bandwidth-specific flag, and hence in the current case it is not
setting the bw field.  This manifests itself in the following warning
emitted by the kernel when the device is associated to an Access Point
with a 20MHz bandwidth:
    WARNING: at kernel/msm-4.4/net/wireless/util.c:1137
    Modules linked in: wlan(O)
    PC is at cfg80211_calculate_bitrate+0xdc/0x1f0
    LR is at nl80211_put_sta_rate+0x64/0x1dc

Fix this issue by initializing the rate_info bw field to 20 MHz prior
to calculating the bandwidth.  If the bandwidth is anything other than
20 MHz then this default value will later be overwritten.

Change-Id: I734b05e0e41c7a859939372fe4d8a3668a08c668
CRs-Fixed: 1072803
2016-10-04 12:07:03 -07:00
Jeff Johnson
a6300253f0 qcacld-3.0: Enable Green AP feature on msmcobalt
Currently the Green AP feature is only enabled on mobile router
platforms. Enable it on the msmcobalt platform as well.

Change-Id: Ib5000b2201cc2c7bd88e3d322b186afcdb0a72e3
CRs-Fixed: 1072412
2016-10-04 12:07:01 -07:00
qcabuildsw
b491af8d70 Release 5.1.0.28W
Release 5.1.0.28W

Change-Id: I84725199df4259aee0b103c4b8266a9f10a29a01
CRs-Fixed: 688141
2016-10-04 11:14:28 -07:00
Arif Hussain
281e7ec8ed qcacld-3.0: Remove gRoamingTime
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default value within wlan_hdd_cfg.h is:
define CFG_ROAMING_TIME_DEFAULT (10)

gRoamingTime is set to zero in WCNSS_qcom_cfg.ini to always
complete/cancel roaming operation.

As part of this WCNSS_qcom_cfg.ini cleanup remove gRoamingTime and
related code.

Change-Id: I1f7833b2ae4794ceac8d4e3826fa26417b54eae4
CRs-Fixed: 1071268
2016-10-04 11:14:25 -07:00
qcabuildsw
62b9b75975 Release 5.1.0.28V
Release 5.1.0.28V

Change-Id: I5864ef22deeba159d40cd96b14d61c696280a720
CRs-Fixed: 688141
2016-10-03 19:09:31 -07:00
Krishna Kumaar Natarajan
ea8f5e0539 qcacld-3.0: Fix compilation error on disabling FEATURE_NAPI
When FEATURE_NAPI is disabled there is a compilation error. Fix the
compilation error by adding appropriate function defintion.

Change-Id: If77ad5d8a5a6edc189159d0e9d6d92edd2856052
CRs-Fixed: 1072777
2016-10-03 19:09:30 -07:00
Krishna Kumaar Natarajan
9c323a8ceb qcacld-3.0: Fix check for identifying P2P action frame
Fix check for identifying P2P action frame by calling the helper
routine wlan_hdd_is_type_p2p_action().

Currently incoming frame buffer is checked against only for Public
action category and not for P2P OUI. Without this any Public action
frame could be incorrectly tagged as Provisionaly Discovery Request
or Go Negotiation Request.

Change-Id: Id55feec06072e2ca6ad780e51c49cd19662b4d8e
CRs-Fixed: 1071200
2016-10-03 19:09:29 -07:00
qcabuildsw
d5ed3ef2ba Release 5.1.0.28U
Release 5.1.0.28U

Change-Id: I9f385c843c80aaa9d662b2823fa8f935d4956e85
CRs-Fixed: 688141
2016-10-03 17:39:09 -07:00
Padma, Santhosh Kumar
29df362726 qcacld-3.0: Add ini control to honor power constraint
qcacld-2.0 to qcacld-3.0 propagation

Add changes to honor power constraint based on ini. Also, enhance
logging for power sent to fw.

Change-Id: Iefd497d76076527ca4c388cade46644a88a51932
CRs-Fixed: 1016876
2016-10-03 17:39:07 -07:00
Poddar, Siddarth
eefe348b69 qcacld-3.0: Store pktlog events when pktlog is enabled by default in INI
Host should not honor any vendor pktlog disable command
if NO vendor pktlog enable command is sent previously.

Currently, vendor sends pktlog disable command without sending enable
command during init and because pktlog is enabled in ini by default,
Host sends the pktlog disable command to firmware which is not as expected.

To fix this, host uses reserved flag in wifi_start_log to distinguish
vendor command from iwpriv or pktlog conf tool command and vendor disable
pktlog command will be sent to firmware only when vendor pktlog enable
commands is sent previously.

Moreover, pktlog INI enable by default and Pktlog buffer size are now
controlled using a macro FEATURE_PKTLOG depending on build variant.
For production/user build, pktlog is default disable and buffer size is
1 MB, whereas for dev build, pktlog is default enable and buffer size is
10 MB.

Change-Id: If64cd522e91cbe9a6d94d8626eb758282fcfd1bd
CRs-Fixed: 1072584
2016-10-03 17:39:04 -07:00
Selvaraj, Sridhar
7231c5f049 qcacld-3.0: Implement a generic API to set session param from HDD
Currently, in host driver, ssid hide which is a session specific
parameter is set on reception of corresponding iwpriv command. Driver
would need to handle similar cases of setting session specific parameter
from HDD[ need this for setting ignore assoc disallowed parameter
for MBO].

Modify the ssid hide API's to generic so that the same API can be
used for setting any session specific paramater in future.

Change-Id: I29c62ff4a6f6d9ed1ff4a0f31a82727eb623bfd4
CRs-Fixed: 1072081
2016-10-03 17:39:02 -07:00
Selvaraj, Sridhar
0174182585 qcacld-3.0: Route RSO commands to WMA through LIM layer
qcacld-2.0 to qcacld-3.0 propagation.

Presently the Roam Scan Offload commands(Start/Restart/Stop etc) are all
sent directly from CSR to WMA. This fix reroutes these commands to LIM
and then to WMA. In LIM, ext cap IE present in assoc IE buffer of RSO
command is updated with FTM[Fine Time Measurement] capabilities if set
in host driver

Change-Id: I86c3b93570a38329cbc6a8a31017ece172164732
CRs-fixed: 1009486
2016-10-03 17:39:00 -07:00
Selvaraj, Sridhar
4ea106ed87 qcacld-3.0: Update scan request IEs with default scan IEs
As part of MBO(Multiband Operations), supplicant provides default
scan IEs per adapter to driver at init time which is passed to
FW for future use of the IEs in FW initiated scans. However
Host driver also need to save default scan IE's to use the same in
driver initiated scans.
For example LOWI scans request may not have MBO IE and then in that
case we need to copy the MBO IE from default IE and send it in the
scan request to firmware.

The fix implements the following:
1) Save default scan IEs per adapter in host driver when received.
2) Compare/Update IEs in cfg80211 scan request with default scan IEs.

Change-Id: I94278637ee03807104fcf85db544c6be22ec6adf
CRs-Fixed: 1039969
2016-10-03 17:38:50 -07:00
Deepak Dhamdhere
b106ae5c99 qcacld-3.0: Update default scan IE's to FW
As part of MBO(Multiband Operations), host driver need to supply
the default scan IEs to firmware at wifi init time using existing
VDEV SET IE command. FW uses these Scan IE's in subsequent scans,
.i.e. FW initiated Probe Requests.

As part of this fix, receive default scan IE's from supplicant,
update extended capability IE with FTM values(if ext cap IE is
present), send down the scan IE's buffer to FW which would be used
for subsequent FW initiated scans.

Change-Id: Ia23459078d93a30c9a1715e391023ee0a1de93ee
CRs-Fixed: 1039969
2016-10-03 17:38:47 -07:00
Sriram Madhvapathi
85df7c7d2f qcacld-3.0: Correct the IBSS tx rate information
qcacld-2.0 to qcacld-3.0 propagation

GETIBSSPEERINFO(ALL) fetches IBSS peer information which
includes tx rate. However, only lower 3 bytes of txRate
field is relevant. Mask out irrelevant fields when passing
tx rate info to the user.

Change-Id: Ice0199b84899e7452bf64353c744118f109d9c14
CRs-Fixed: 1050973
2016-10-03 17:38:45 -07:00
Kapil Gupta
6213c01b1b qcacld-3.0: Enable/disable qpower dynamically
qcacld-2.0 to qcacld-3.0 propagation

Add changes to support qpower dynamically using vendor command.

CRs-Fixed: 1054217
Change-Id: Ibc9456c2edc4f385f637cb9e45e3f51a6a911121
2016-10-03 17:38:43 -07:00
Kapil Gupta
155748e7b6 qcacld-3.0: Fix memory leak issue
qcacld-2.0 to qcacld-3.0 propagation

Memory should be allocated to radar_event only when radar phy
event needs to be sent to WMA layer.

Add changes to fix memory leak.

CRs-Fixed: 1065466
Change-Id: Ia3e93ddd47913956c27487472b6a70eb68d63fd9
2016-10-03 17:38:41 -07:00
qcabuildsw
def4fddd4f Release 5.1.0.28T
Release 5.1.0.28T

Change-Id: I4b57f8e660477f0496a8460f624ad6ac0ccae737
CRs-Fixed: 688141
2016-10-03 17:38:39 -07:00
Sandeep Puligilla
ada729259f qcacld-3.0: clear sme open session event
In failure scenario sme session id is getting
reset but sme open session flag is not cleared.
Due to this scan rejected from host.

Clear the sme open session event in sme close
failure/timeout scenario.

Change-Id: I2cb91120947c38a25df508c376f0e1377717458f
CRs-Fixed: 1072820
2016-10-03 17:38:37 -07:00
qcabuildsw
806fa4c2a7 Release 5.1.0.28S
Release 5.1.0.28S

Change-Id: I0f3661f2783d1b48500f1876926398f0c7760d09
CRs-Fixed: 688141
2016-10-03 17:38:34 -07:00
Orhan K AKYILDIZ
5f0ff72238 qcacld-3.0: Fix multiple adapter LRO flush issue
A new adapter overwrite previous adapter information for LRO flush
callback, causing LRO packets for that adapter not being flushed and
sit in the LRO manager queues.
LRO flush now walks through the adapter list and flushes for every
LRO-enabled adapter.

Change-Id: I4c882a6521759c1c8fa05b9d9be4134feabd08aa
CRs-Fixed: 1072471
2016-10-03 17:38:31 -07:00
Hanumanth Reddy Pothula
7a65740e47 qcacld-3.0: Unregister wext interface, on STA interface down
Host registers wext handlers, during STA interface UP. But not
unregistering during interface down, lending user to issue iwpriv
commands though interface is down.

Unregister wext interface, by initializing wireless_handlers to NULL
during interface down.

Change-Id: I839d733595672c8c43e5a085ea5f1e97d98c4c31
CRs-Fixed: 1064023
2016-10-03 17:38:27 -07:00
Rajeev Kumar Sirasanagandla
478730010a qcacld-3.0: Add support to get bus message size
qcacld-2.0 to qcacld-3.0 propagation

This commit allows the upper layers to query  driver for max
message size between the host & firmware using vendor command.

Change-Id: I21db90c854e6105f00c27dec9389f2cafd4f6508
CRs-Fixed: 965244
2016-10-03 17:37:02 -07:00
Poddar, Siddarth
1ab0a3db60 qcacld-3.0: Fix memory leak when SSR is triggered
qcacld-2.0 to qcacld-3.0 propagation.

Packets are not freed from cache buffer and causes memory
leak in SSR case. Flush cache RX frame queue to avoid this memory leak.

Change-Id: Idd9edde6fdb3b9ff3ecbe7d8139f9a66468b70af
CRs-Fixed: 1051019
2016-10-03 17:33:01 -07:00
Poddar, Siddarth
fa2b2d18b0 qcacld-3.0: CL 1649677 – update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0.

WMI config parameters to tune the WLAN/BT OCS intervals
during BT Inquiry

Change-Id: I7b4965607a611ba64b5b245afd532af1ba97f99b
CRs-Fixed: 865207
2016-10-03 17:32:59 -07:00
Poddar, Siddarth
cd94ec62e0 qcacld-3.0: CL 1647956 – update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0.

WMI CSA support for 5 MHz + 10 MHz

Change-Id: Id9c2e5f4cd343e6cdf1ce3ff38a70a0c22da9b94
CRs-Fixed: 865207
2016-10-03 17:32:52 -07:00
Selvaraj, Sridhar
9cee77f3ec qcacld-3.0: Trigger Auth req(OPEN) when SHARED times out
qcacld-2.0 to qcacld-3.0 propagation

When the OPEN/SHARED WEP is configured, the current
implementation will start Auth request with SHARED and if it
fails, triggers Auth request with OPEN. This change will
trigger the OPEN Auth requests when the timeout happens
(no Auth response received for previous attempt i.e.AUTH req
SHARED case). Some APs don't respond to Shared Auth if
they support only Open. To interoperate with this kind
of APs try Open Auth if Auth timeout happens with Shared
Auth.

Git-commit: 368b3a4eb4b4067bfff88d3dbd21371af3bb23a8
Change-Id: I28b9186b9dc238640fd7655c9ac73e8aa89aec54
CRs-Fixed: 984341
2016-10-03 17:32:48 -07:00
Dustin Brown
73fce8f09a qcacld-3.0: Abort suspend if RRM scan is pending
Currently RRM scan state is not being tracked, leading to possible
suspend attempts while RRM scan is pending. Set scan state information
to prevent suspend while RRM scan is pending.

Change-Id: I1d688f137961b4cb09d13764761c8d22709c3a43
CRs-Fixed: 1072598
2016-10-03 17:32:46 -07:00