Commit Graph

780 Commits

Author SHA1 Message Date
Arun Khandavalli
97f2838162 qcacld-3.0: set/clear interface opened flag for softap adapter
In softap case DEVICE_IFACE_OPENED flag is not set/cleared when the
interface is opened/stopped(hdd_hostapd_open/hdd_hostapd_stop).
During the STA+SAP concurrency when the STA is turned
off, during the interface down it check's if any interfaces are opened,
if no interfaces are opened it starts the timer to close the modules.
Since the interface opened flag is not set for softap case the timer
is getting kickstarted and resulting in closing the modules even when
the SOFTAP is running.

To migitate the issue, set/clear the DEVICE_IFACE_OPENED in the adapter
even for SOFTAP.

Change-Id: I9e3f1391d92473d8a189d9fee6523ec3a7554c96
CRs-Fixed: 1065130
2016-09-13 12:54:45 -07:00
Dustin Brown
d03bf59c85 qcacld-3.0: Enable multicast address list feature by default
Change the multicast address list feature default from 0 to 1.

Change-Id: I31fcfc3cca5658885d6a3634c98e21934d3867f9
CRs-Fixed: 1064768
2016-09-12 21:46:04 -07:00
Dustin Brown
f660fb4c10 qcacld-3.0: Reset PS timeout when PS requested from user space
When receiving a power save request from user space, disable any active
power save timer and start a new one using the timeout supplied from
user space.

Change-Id: I88299776a973118e1bdba8cfd5fa4c8018f0758a
CRs-Fixed: 1065234
2016-09-12 21:45:58 -07:00
Dustin Brown
d8279d2d24 qcacld-3.0: Enable/Disable NS offload in FW as per user space request
When coniguring NS Offload via Cfg80211, configure firmware NS Offload
to match via HDD.

Change-Id: I8d95be773ff29512ebb72a8eb5e9dddbc9e675dd
CRs-Fixed: 1064168
2016-09-12 21:45:56 -07:00
Rajeev Kumar Sirasanagandla
62b6303900 qcacld-3.0: Add log for BPF set instructions
qcacld-2.0 to qcacld-3.0 propagation

In the current implementation, there is no log of instructions
set by framework.
To resolve this and understand the packet filters,
log of set instructions is added.

Change-Id: Ibe3c23de374261741f78a76c05c97b2342e9064e
CRs-Fixed: 1013062
2016-09-12 21:45:54 -07:00
Naveen Rawat
19da3d155c qcacld-3.0: Change NDP_SERVICE_INSTANCE_ID from 16 bits to 32 bits
This is qcacld-2.0 to qcacld-3.0 propagation.

Change NDP_SERVICE_INSTANCE_ID from 16 bits to 32 bits

Change-Id: I4fab1af6d9b8e34396bb3679f112c7f29bbe9f93
CRs-Fixed: 962367
2016-09-12 19:03:23 -07:00
Manjunathappa Prakash
779e48688b qcacld-3.0: Fix build error due to missing cds_utils.h
Fix below build error:
qcacld-3.0/core/hdd/src/wlan_hdd_softap_tx_rx.c:605:2: error: implicit
declaration of function 'cds_host_diag_log_work'
[-Werror=implicit-function-declaration]
  cds_host_diag_log_work(&pHddCtx->rx_wake_lock,
    ^
    cc1: all warnings being treated as errors

Change-Id: Ia1fe71abd783e24e91ae197db4a6b8fcc0b28ec7
CRs-Fixed: 1065872
2016-09-12 18:05:26 -07:00
Manjunathappa Prakash
169361e309 qcacld-3.0: Fix multi queue NAPI build errors
Fix build errors on the platform where multi queue NAPI is
not supported.

Change-Id: Id9916cff11f9337f279f9aed6dfe35e7a6beb1ed
CRs-Fixed: 1065872
2016-09-12 18:05:23 -07:00
Dustin Brown
2444ee6840 qcacld-3.0: Disable NS offload when max addresses is reached
When NS offloading is enabled, and we reach the maximum number of supported
addresses, disable NS offload so Apps can handle it.

Change-Id: I8312d5e8091cfbdc1f6e3e1e1093ae1dca0c096c
CRs-Fixed: 1063737
2016-09-12 12:16:27 -07:00
Anurag Chouhan
bf5e0e2457 qcacld-3.0: Add fw_test command
Add an Iwpriv command to update fw test params.

Change-Id: I7017fedbe8eddfa6b0f93f1d6129b12f22a462bb
CRs-Fixed: 1045265
2016-09-12 12:54:09 +05:30
Selvaraj, Sridhar
a7fc763e16 qcacld-3.0: Update Assoc IEs to firmware after STA connects
As part of MBO(Multiband Operations), the Assoc IE's including
MBO IE need to be sent to FW as part of Roam Scan Offload command
so that these IE's can be used later in firmware initiated roams

Change-Id: Ia873c65a7813ae63d8e53d7445095990b0c2fed7
CRs-Fixed: 1039969
(cherry picked from commit 0af3520421400b65002604e0a3a9c7c714cc1e21)
2016-09-11 17:37:17 -07:00
Nitesh Shah
4e2d5eb3e7 qcacld-3.0: Allow Link speed only for P2P GO/Client
Link speed is returning incorrect value.

Fix is to allow link speed only for P2P GO/Client. Return error
for other device modes, as link speed feature in FW is only
supported for P2P interfaces as it was implemented to support
Miracast.

Change-Id: I5747d9ebbcbac3ae1ebf69f261d721a96e22d53c
CRs-Fixed: 1063541
(cherry picked from commit 9327fc30217078d165f7be85a3fb277e9d09e669)
(cherry picked from commit a346e371732b5fc24f171a3bde4666e7950f3c01)
2016-09-11 17:12:28 -07:00
Nitesh Shah
6259b1cb1c qcacld-3.0: Modify timer and threshold ini parameters in TDLS
Propagation from qcacld-2.0 to qcacld-3.0.

While initiating TDLS connection, overflow occurs when the
minimum time for TDLS stats is less than 1000 ms.
To avoid the overflow, the default time is kept as 2000 ms
and minimum time as 1000 ms. To improve the TDLS discovery,
packet threshold is changed to 40 packets.

Change-Id: Ibbb422c739b5927c5f2d788712f376a1cfa42930
CRs-Fixed: 1020247
(cherry picked from commit f9fe1c7d3a55caf8cf263f280508a91f0fe06a96)
(cherry picked from commit 388cc4379009f9e7a09fbfec6a846bcc80452d43)
2016-09-11 17:12:24 -07:00
Nitesh Shah
87335a5617 qcacld-3.0: Set channel BW as 20 MHz for IBSS in 2.4 GHz
Propagation from qcacld-2.0 to qcacld-3.0.

The device supports only 20 MHz while operating in IBSS
mode in 2.4 GHz band. There is no support in firmware to
do OBSS scan in STA/IBSS mode. Thus, the device will not
start IBSS when the configured bandwidth is other than
20 MHz in 2.4 GHz band.

Update channel width as 20 MHz if the device is in IBSS
mode and is operating in 2.4 GHz.

Change-Id: I01fa0df44f8b6f9ada835c0fc80a46eb0da6d6d7
CRs-Fixed: 1009922
(cherry picked from commit 5167d6c9b4271f08d3e819a0e9a7da1142630094)
(cherry picked from commit 5baf73480e91e68a2b5dfbe2a6981003d064fc9c)
2016-09-11 17:12:24 -07:00
Kondabattini, Ganesh
96ac37b226 qcacld-3.0: maintain the backward compatibility for svc events
qcacld-2.0 to qcacld-3.0 propagation

Add radio index at the end of wlan svc msg in TLV format inorder
to maintain the backward compatibility with user space application
like wlan_services and cnss_daemon.

Change-Id: If578d66eada17784eef7daafa7351df95fc74f5a
CRs-Fixed: 1019664
(cherry picked from commit 6a1d4b9d33b10ed50990efc825e530e020661153)
(cherry picked from commit 53627e3d41d55a9d71889443daa2ab769227c170)
2016-09-11 17:12:23 -07:00
Padma, Santhosh Kumar
724f63df4b qcacld-3.0: Reduce roaming delay by moving tdls cb after enabling queues
qcacld-2.0 to qcacld-3.0 propagation

Function wlan_hdd_tdls_connection_callback takes few milliseconds
to complete its functionality which can effect roaming delay.
Move this functionality after enabling queues to reduce roaming delay.

Change-Id: I78d7b4deadb6cccdfd81f8431b6dd7c013e05340
CRs-Fixed: 978673
(cherry picked from commit a86f1940b048ef49dae99c903c0dee3400444068)
(cherry picked from commit 827dea48dfc7c6d25e77ade6383645f866991e5e)
2016-09-11 17:12:21 -07:00
Deepthi Gowri
d5a58fe264 qcacld-3.0: Register management frames during wlan re init
qcacld-2.0 to qcacld-3.0 propagation

It could be possible that after SSR, pMac context is lost,
due to which the management frame callback will not be invoked
and none of the management frames will be processed,
resulting in scan and connection issues.

To address this, Register management frame callback during wlan re init.

CRs-Fixed: 962187
Change-Id: I5429da9dbc33c7e2044d5a4daa1c8d3d7af241ee
(cherry picked from commit aa3229ce46b3b8922d6dbad512aeb038df15530a)
(cherry picked from commit 48a63b11432f5879cc5abaf2cff78977253d5d41)
2016-09-11 17:12:19 -07:00
Deepthi Gowri
1f8352170f qcacld-3.0: Fix for P2P GO negotiation failure
qcacld-2.0 to qcacld-3.0 propagation

The wait time in go negotiation response is set to 100msec by
the wpa_supplicant. Due to which, there could be a possibility
for the DUT to miss go negotaition confirmation frame if the
ROC times out, resulting in connection failure.

Also the wait time for GO negotiation confirmation, invitation
response and provisional discovery response frames are set to 50msec.

To address this, increase the wait times for these response frames.

CRs-Fixed: 1050955
Change-Id: I1fa8a0ae669293ab27c5b4f43f6f33465ff3f2c0
(cherry picked from commit 9481683888c272bacddd2d7983b909157a576a97)
(cherry picked from commit a5b48ffdb93f686e2df0291143549e657a3eb285)
2016-09-11 17:12:19 -07:00
Gowri, Deepthi
07ac993876 qcacld-3.0: Convert pr_info logs to qdf_trace logs
qcacld-2.0 to qcacld-3.0 propagation

Convert the pr_info logs to qdf_trace logs with error log level,
so that the logs are displayed both in kmsg as well as in logger
app logs.

CRs-Fixed: 956590
Change-Id: Ib6ed5744cf38924a6b1dc20e3291639554c42c6b
(cherry picked from commit e7d8f2a4214e32aa30152aff806c0caa15c78787)
(cherry picked from commit ecb280f37bfea24afd6996480ca70ee0ef15de94)
2016-09-11 17:12:18 -07:00
Deepthi Gowri
084c24da74 qcacld-3.0: Add log to print channel number and frequency
qcacld-2.0 to qcacld-3.0 propagation

Add error log to print channel number and frequency in
wlan_hdd_cfg80211_inform_bss_frame() if it fails to retrieve the
channel.

CRs-Fixed: 1010559
Change-Id: I8fe77db17ffa40ea07206a3701c02f02564ea8fd
(cherry picked from commit c56aea24166cbdcbfe4acc44fc3cb8464ddaabca)
(cherry picked from commit 9cd27801a80b2b71959289efd66f99e4ac32e1fc)
2016-09-11 17:12:16 -07:00
Deepthi Gowri
993ec18d71 qcacld-3.0: Fix for getTdlspeers in case of explicit trigger
qcacld-2.0 to qcacld-3.0 propagation

Currently driver is setting TDLS supported capability only in case
of tdls peer discovery response. In case of explicit trigger discovery
is optional, so it could be possible that the false capabiltiy is sent
as tdls not supported though it supports when link is enabled using an
external trigger.

To address this, set the tdls supported capability during the tdls setup
confirmation.

Change-Id: I13041f2b03e749617e58a74d82bdf77d9e6886ed
CRs-Fixed: 988686
(cherry picked from commit fab4eefd36b1b452dc96149beab1536414571e06)
(cherry picked from commit db27ba3e3d92af5d3d361f9ad59c4cd9213b31cd)
2016-09-11 17:12:15 -07:00
Gowri, Deepthi
62da33e948 qcacld-3.0: Fix P2P GO Negotiation failure issue
qcacld-2.0 to qcacld-3.0 propagation

Sometimes it is possible for the host to receive the ack for
go negotiation request after the go negotiation confirmation
is sent. So supplicant assumes go negotiation confirmation is
success though it is not and results in connection failure.

To address this, drop the pending ack for the go negotiation
request. so that the supplicant will wait for the ack of the
negotiation confirmation.

CRs-Fixed: 1032185
Change-Id: I54f305319e23b1ffcbd54cc6e7dcc74d39a2e511
(cherry picked from commit 83df79da05419397ef85b77acef353a9ffb05ced)
(cherry picked from commit f13a15829f20a644e5cbaad4a1783a33d0f78014)
2016-09-11 17:12:13 -07:00
Selvaraj, Sridhar
4577a9b955 qcacld-3.0: Send p2p ack indication directly to HDD from PE
qcacld-2.0 to qcacld-3.0 propagation

During P2P functionality, Host will send GO NEG REQ and
receives ACK completion from firmware which will be queued
to indicate HDD. Meanwhile if host receives GO-NEG RESP it
will be sent directly to HDD via function callback. In HDD as
we got  GO NEG RESP before ACK completion for GO-NEG REQ, HDD
will generate pkt completion for GO NEG Request.
Now GO NEG CONFORMATION frame will be sent and driver will be
expecting completion for this. The GO NEG REQ ACK completion
which got buffered in PE will be delivered to Supplicant and
Supplicant assumes that this is the ACK for GO NEG CONF frame.
This causes early termination of remain on channel due to which
firmware may drop the GO NEG CONF frame and may not retry as ROC
is terminated.
Fix this by making ACK Completion indication to HDD via function
callback.

Git-commit: 32ddf4196f423b8eaea7ec6c0816e2961aa7fc45
Change-Id: I0dd3acb236b270839649d2becfdc007e7aae9fdd
CRs-Fixed: 1012547
(cherry picked from commit a3996d421de7f55d5a6f7da19d7ff4b568ce7c50)
(cherry picked from commit 42405db3bd3f4b10800cde8cdcd14f521461a5a7)
2016-09-11 17:12:10 -07:00
qcabuildsw
b8c8051a05 Merge "Revert "qcacld-3.0: Fix race condition between PM suspend and fw irq"" into wlan-cld3.driver.lnx.1.1-dev 2016-09-11 16:21:55 -07:00
qcabuildsw
f5a36a2095 Revert "qcacld-3.0: Fix race condition between PM suspend and fw irq"
This reverts commit Change-Id: Ib16a4e86f2378a8ca3f7eaada54fc7a3d67a886b
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. Race condition between PM suspend and fw
irq will occur again after reverting.

Change-Id: Ida519d607df1e1e183c7af445d48be2f50101ce7
CRs-Fixed: 1060748
2016-09-11 15:44:40 -07:00
Manjunathappa Prakash
fff753c12e qcacld-3.0: Add option to control Rx flow steering
Add ini configuration to enable/disable Rx flow steering.
Add HTT message to configure RX flow steering.

Change-Id: I80aab262c754716b28bfdae561d1cbf5e1d38e4d
CRs-Fixed: 1055179
2016-09-11 15:23:53 -07:00
Mukul Sharma
71d0c5773b qcacld-3.0: Reduce LL stats / Firmware Memory Dump Blocking time
qcacld-2.0 to qcacld-3.0 propagation

Currently driver block wpa_supplicant context for response
for 5 / 5 seconds for LL stats and firmware memory dump
feature respectively. But in M framework watch dog will
be triggered after 1 second because driver is holding
the context longer, which lead to wd thread starvation.

As a part of this fix, block time is reduced to 800 msec
respectively in both cases.

Change-Id: I02cc7623bc0bc6004ece972f8c4a5e8e751131d2
CRs-Fixed: 951119
(cherry picked from commit 6f39e5ac60eac096107a36b8feb9218ceeef6c38)
2016-09-10 19:08:34 -07:00
Mukul Sharma
974ca65bc9 qcacld-3.0: Increase wait retry count in rmmod
qcacld-2.0 to qcacld-3.0 propagation

If SSR/ram dump collection is in progress, rmmod waits
for it's completion for 75 times. But for high latency
target SSR/ram dump collection is taking more then 75 sec.

As part of this fix,For HL target set retry count to 200.

Change-Id: I8cc052c748e6a6dfff45675f9c15ead00b002a11
CRs-Fixed: 974023
(cherry picked from commit f788043e64fe707c495b2c0baee6e6d116268068)
2016-09-10 19:08:09 -07:00
Srinivas Dasari
510e7fe109 qcacld-3.0: Add vendor command support for setband
This is a qcacld-2.0 to qcacld-3.0 propagation

This commit allows the upper layers to send setband request to
driver using vendor command.

Change-Id: I3ce769e5426a5afb85979b4e19dbabd234f18e98
CRs-Fixed: 879527
(cherry picked from commit 0e0eaa6aa061031c5cf5314497b9d41eb0aef850)
2016-09-10 19:08:05 -07:00
Hanumanth Reddy Pothula
366fa8e29f qcacld-3.0: By default set thermal power limit to 30dbm
This is a qcacld-2.0 to qcacld-3.0 propagation.

In present code, Host sets thermal power limits to 10dbm,
for both 2g and 5g, leading to connection failure.
Set Thermal Power limit to 30dbm for both 2g and 5g. So
that FW takes the default values from BDF.

Change-Id: I053108babfaa9ac2629cdb107ceb507c2f8891e5
CRs-Fixed: 1011361
(cherry picked from commit b25fb5987e792d286542e09f8d8fa30223115453)
2016-09-10 19:08:00 -07:00
Hanumanth Reddy Pothula
adf163ed1a qcacld-3.0: Resolve buffer overflow issue while processing GET_CFG IOCTL
qcacld-2.0 to qcacld-3.0 propagation.

There is a possibility of buffer overflow while processing
GET_CFG IOCTL to retrieve ini parameters from a global array,
because of invalid if condition.
Resolve buffer overflow issue by correcting if condition.

Change-Id: I8881abde0b543d7b1562968ecbb6240a0ca552a3
CRs-Fixed: 1000853
(cherry picked from commit 2dff47b5bc87559c430da20bf563975749b2a8cd)
2016-09-10 19:07:58 -07:00
Hanumanth Reddy Pothula
1891fe4e6a qcacld-3.0: Resolve static analysis issues
qcacld-2.0 to qcacld-3.0 propagation

Resolved  static analysis issues,  variable initialization,
return on failure, validate data before using.

Change-Id: Ia6ffd422ae3f9bc8419f32aa914839a091841335
CRs-Fixed: 975049
(cherry picked from commit 3284a163a31f49bfd7f2b0f2319ee30c3710ee64)
2016-09-10 19:07:02 -07:00
Manjeet Singh
c5734186b5 qcacld-3.0: Enable arpOffload and NSOffload features by default
qcacld-2.0 to qcacld-3.0 propagation.

Allow IPv4 and IPV6 offloads to FW by enabling ARP and NSoffload feature
by default even if it's not explicitly enabled in the ini file.

Change-Id: I9af928f5ea6e2b9589d3c8666abfa3927fe5e908
CRs-fixed: 1053887
(cherry picked from commit e0dba23a18a4484ae799e9db1eb867446e9ba0c8)
2016-09-10 19:06:55 -07:00
Manjeet Singh
e80d6d806e qcacld-3.0: Support LDPC and STBC ioctls on SAP
qcacld-2.0 to qcacld-3.0 propagation

Currently the following private ioctls are only supported on STA-type
interfaces: set_ldpc, get_ldpc, set_tx_stbc, get_tx_stbc, set_rx_stbc
and get_rx_stbc. Update the driver to support these commands on
SAP-type interfaces as well.

Change-Id: Ic135dcbd74918a2d27802e3edc34444545aa18ff
CRs-Fixed: 844097
(cherry picked from commit bf5ed2ca492bbe66b8825ad68ce975454f989dd6)
2016-09-10 19:06:52 -07:00
Manjeet Singh
0f2ce5c0c4 qcacld-3.0: Add ini support for extscan
qcacld-2.0 to qcacld-3.0 propagation.
Added ini parameter for extscan so that scan can be aborted
if extscan ini is not enabled.

Change-Id: I7bfcd88901512de6b70af94d1ebd76894bb14755
CRs-Fixed: 927236
(cherry picked from commit 5af7ebadac8ea8ccd11af6c03d5d3a4cf209e85b)
2016-09-10 19:06:50 -07:00
Manjeet Singh
2d3b0c5876 qcacld-3.0: Avoid Channel 0 in softap acs channel list
qcacld-2.0 to qcacld-3.0 propagation.

If ACS is enabled in hostapd configuration,hostapd sends
a list of channels to HDD for softap bring-up. If hostapd
finds a invalid/unsupported channel in its channel list,
it will send a 0 for that channel. Since HDD always takes
the lowest channel as starting channel for scan, the scan
will always include 2.4Ghz channels even if channel mode
is set to a. Hence HDD should ignore these invalid entries
in channel list.

CRs-fixed: 959490
Change-Id: Iddaf6c4ba14e22b476f22f1f098faf726f4407ec
(cherry picked from commit 9f410939ff801316a153c44c603ce575fe6d15d5)
2016-09-10 19:06:48 -07:00
Mahesh A Saptasagar
ebb47fa293 qcacld-3.0: Block interface down until pending scan request is aborted
qcacld-2.0 to qcacld-3.0 propagation

From Kernel-3.18 onwards pending scan request is handled
as part of NETDEV_DOWN event, by invoking the cfg80211_scan_done
callback which frees the scan request structure. To support this,
driver will not invoke scan_done_callback if interface is down.

In case, if interface down and up are called back to back there
is a chance that kernel frees scan request as part of NETDEV_DOWN
and after which before driver triggers scan_done_callback if
interface is made up, driver scan_done_callback is through its
execution and accesses the freed scan request results in kernel
panic.

To mitigate this, don't return from hdd_stop until scan request
is aborted. Though this fix is to avoid kernel panic due to 3.18
kernel specific changes, it is acceptable across all the kernel
versions.

Change-Id: Iba8bd7a32fac33e8a0c3eea293aad682a1105397
CRs-Fixed: 977264
(cherry picked from commit 153dba8b716c3d10a1745df6e2da09c0c05d9b01)
2016-09-10 19:06:43 -07:00
Anurag Chouhan
04dbf6de4d qcacld-3.0: Disable RA filter when BPF is enabled
qcacld-2.0 to qcacld-3.0 propagation.

In current implementation, RA filter is enabled irrespective of the
BPF filter status. This change checks if BPF configuration in ini as
well as in target config is enabled, then RA will be disabled.

Change-Id: I85df0828af665d2bcc13c865b0ba40ebf882fffe
CRs-Fixed: 1058884
(cherry picked from commit 8dda6e83eb85ef9f0342ab23954e093c6dfebe2e)
2016-09-10 19:06:41 -07:00
Anurag Chouhan
c40929266c qcacld-3.0: Add support for new cfg80211 connect api
qcacld-2.0 to qcacld-3.0 propagation

The new cfg80211 connect api 'cfg80211_connect_bss' takes
a new input parameter, the connected bss. This is required
for the kernel to map its current_bss to the bss on the
correct channel when more than one bssid, ssid pair is
present on different channels with the kernel. Without this
the kernel might report a wrong channel as the associated
channel. Hence add support in driver to use the new connect
api.

Change-Id: I1e5ded1b40ca324469917acebf17a03cc1e1c679
CRs-Fixed: 1008794
(cherry picked from commit fc06d173ce8155c1ee470f0a135490d42237d66e)
2016-09-10 19:06:39 -07:00
Anurag Chouhan
22520000f8 qcacld-3.0: Prevent roaming latency caused by LL stat ops
qcacld-2.0 to qcacld-3.0 propagation

Framework may initiate LL stat ops while roaming is
in middle, which in turn block the call or wait for
timeout hence introducing roaming delay.
This delay can be overcome by avoiding LL stat ops
if it is triggered in between the roaming.

Change-Id: Ie64c8c56f905cc297057e62b69c010cf1e0974ed
CRs-Fixed: 881429
(cherry picked from commit 125d2e3ce70d7829ed6b37ee032f6c2036974587)
2016-09-10 19:06:37 -07:00
Kondabattini, Ganesh
702d90e5a7 qcacld-3.0: Set default key index after bss start
qcacld-2.0 to qcacld-3.0 propagation

In AP+AP scenario, it is possible that hostapd can set default
key index before there is a session associated with pAdapter.
So save wep default key index in pHddApCtx and set it after bss start.

Change-Id: I1c27ad8984cb1ece266405fb5c427e59dd01db3a
CRs-Fixed: 938522
(cherry picked from commit d93be6957228143d757f299fcd32d2428860f9ee)
2016-09-10 19:06:31 -07:00
Agrawal Ashish
6c9bca7802 qcacld-3.0: Don't limit channel list to max 32 channels
qcacld-2.0 to qcacld-3.0 propagation.

In __iw_get_channel_list, driver populates valid
channel list from nv table.
Currently, the driver only populates 32 channels.
The driver should populate complete valid channel list.
Moreover, driver should not include DFS channels in channel list
if the device is not set to DFS_MASTER mode.

Fix these issues by returning all supported channels.

Change-Id: I4981941834f25b9d213c20715ca8237a4b885473
CRs-Fixed: 988849
(cherry picked from commit 7a4c5379f991bb4e72393e775f4664517d0a68aa)
2016-09-10 19:06:17 -07:00
Govind Singh
8c54d6cf0c qcacld-3.0: Do not allocate LRO desc for flow greater than max range
HOST driver supports max LRO_DESC_POOL_SZ flows that can
be submitted to LRO manager. Currently there is no check
for flow greater than LRO_DESC_POOL_SZ and this is resulting
in invalid de-reference of hdd_lro_desc_entry.

Do not allocate LRO desc for flow greater than max range and
use normal rx path for flow greater than LRO_DESC_POOL_SZ.

Change-Id: I7f44c750afc78f5e044c9405dff30e729d3d28f3
CRs-Fixed: 1064624
(cherry picked from commit 2a8773e73b6c00edfcc621b4c1cba3bae677fb66)
2016-09-10 19:06:15 -07:00
Anurag Chouhan
77564183fc qcacld-3.0: Fix buffer over read in iwpriv WE_UNIT_TEST_CMD command
qcacld-2.0 to qcacld-3.0 propagation.

In current driver, WE_UNIT_TEST_CMD has below problem.
- apps_arg[1] can have zero value and can lead to
  buffer overead

Change the code to handle the number of args if user has
given zero.

CRs-Fixed: 1029540
Change-Id: Idc8e1d77d9623daeb98d0c4b7ad8a8d6cfa9c2d2
(cherry picked from commit 063a0db662927174d22af3b78402c63d7c388112)
2016-09-10 19:06:11 -07:00
Anurag Chouhan
f00931b6fb qcacld-3.0: Remove the support for setwpaie ioctl
qcacld-2.0 to qcacld-3.0 propagation.

This ioctl gets call during the start of SAP/hostapd with wext
interface and which is obsolete, currently using nl80211 interface
for the same

Remove the code related to setwpaie ioctl

CRs-Fixed: 1000913
Change-Id: Ia45860d7143639aa62d02afe8c08e283e20ba27a
(cherry picked from commit faa23a5a51fcad2cd38e4f4a41c10d8acdd42d36)
2016-09-10 19:06:08 -07:00
Anurag Chouhan
05d124f8cb qcacld-3.0: Logging level changes on wlan HOST
qcacld-2.0 to qcacld-3.0 propagation.

As there are a lot of prints dropped on the console in
short duration, it leads to interrupt disablement on
the cpu.

So reducing the logging level of log statement from
ERROR to INFO

Change-Id: I3eefac49378a7bfbcc235b1dd3362e1213fa1f42
CRs-Fixed: 886644
(cherry picked from commit 06c7d1b4aa89fb5c25241cec0558d559ee93b683)
2016-09-10 19:06:06 -07:00
Anurag Chouhan
43e0c7541b qcacld-3.0: Validate ENABLEEXTWOW command
qcacld-2.0 to qcacld-3.0 propagation.

Validate arguments for ENABLEEXTWOW command
and return failure on invalid arguments.

Change-Id: I73556989f79754bca1bf4226ad71c2358b3a7526
CRs-Fixed: 857123
(cherry picked from commit 15e232c5aab90e6ed53d3a9a7f8d631ae451402e)
2016-09-10 19:06:03 -07:00
Sachin Ahuja
02dd2e71c5 qcacld-3.0: Deinit memdump only when it is initialized
During driver initialization, if hif_register_driver timeout
then memdump is not initialized. Due to this timeout, unregister
driver is called which deinitialize memdump which cause crash as
uninitialized mutex is accessed in memdump_deinit.
To fix this issue, deinit memdump only when the init is successful.

Change-Id: I781717a2a160aa09c9f60ebface1238507d1a623
CRs-Fixed: 991443
(cherry picked from commit 54eda9379d7dec74ac6c3efd1659dffdd32c0680)
2016-09-10 19:06:00 -07:00
Mukul Sharma
dd93cbca9e qcacld-3.0: Prevent buffer overflow in QCSAP_IOCTL_VERSION
qcacld-2.0 to qcacld-3.0 propagation

The QCSAP_IOCTL_VERSION IOCTL is registered with a maximum GET
buffer length of QCSAP_MAX_SC_IE = 256 bytes. But while filling
buffer, Host allows to fill till WE_MAX_STR_LEN which may lead to
buffer overflow.
As a part of this fix, Host ensure to register with maximum
WE_MAX_STR_LEN buffer length.

Change-Id: I5ba0268e978c7ddadabc96a4eba18140ff7db3c6
CRs-Fixed: 1001142
(cherry picked from commit 85f4f75e8396e27467716555d68b3a18dd57b6fe)
2016-09-10 19:05:54 -07:00
Manjeet Singh
e7ecb7cbb8 qcacld-3.0: Add support for sifs burst duration ini
qcacld-2.0 to qcacld-3.0 propagation.

Add code for implementing sifs burst duration ini to be sent to be FW
as part of WMI_PDEV_PARAM_BURST_DUR command.

Change-Id: I96ccda760045ecd54592b649116f3e7fe4a4f31b
CRs-Fixed: 1028623
(cherry picked from commit 7a367f1535299b73d1886529e0a557853d943518)
2016-09-10 19:05:52 -07:00