Commit Graph

1598 Commits

Author SHA1 Message Date
qcabuildsw
9f6c8a05ea Release 5.1.0.23U
Release 5.1.0.23U

Change-Id: Iceb664a4c098fc700c18eb1c77ab1cd43e3426e7
CRs-Fixed: 688141
2016-08-19 18:33:29 -07:00
Manjunathappa Prakash
b4ae4ab7b0 qcacld-3.0: Serialize the LRO manager array access
Serialize the LRO descriptor list modifications.

Change-Id: Ie40ccf274e6e44441a16ff3d6f36a3007b732c09
CRs-Fixed: 1056091
2016-08-19 18:33:29 -07:00
Arif Hussain
a34700c82e qcacld-3.0: Fix sap_acs_channel_check
In sap_acs_channel_check fix ‘if’ condition will be always true for any
given channel, this will fail to validate if the given channel is in ACS
channel range.

Fix the if condition check from logical OR to AND to validate given channel
is within the ACS start and end channel range.

Change-Id: I1d69c9d440e641b052fd6098d1c99f22a64e9a9d
CRs-Fixed: 1056036
2016-08-19 18:33:27 -07:00
Arif Hussain
1b21e81150 qcacld-3.0: Fix overlapping channel selection in ACS
The enableOverLapCh is not populated from HDD context, So sap_filter_over_lap_ch
function always filter overlapping channel causing ACS to select only
non-overlapping channel.

Populate enableOverLapCh from HDD context to SAP context.

Change-Id: I99b1ada48573e8b03ab42a94d98f92f7b0b0e871
CRs-Fixed: 1055071
2016-08-19 18:33:25 -07:00
Mohit Khanna
c6f03989a8 qcacld-3.0: Add USB bus support (DP)
Add datapath changes for USB bus support

Change-Id: Iabb6f5bbfa4d0c2a8026262d2ecb11cdc0533742
CRs-Fixed: 1023663
2016-08-19 18:33:24 -07:00
Mohit Khanna
0fe6167c19 qcacld-3.0: Add USB bus support (WMA)
Add WMA specific changes for USB bus support.

Change-Id: I4186d22e4f0af258ee92fb269db9a987cdd0c933
CRs-Fixed: 1023663
2016-08-19 18:33:23 -07:00
Mohit Khanna
04bea52a30 qcacld-3.0: Add USB bus support (BMI)
Add BMI specific changes for USB bus support.

Change-Id: Icf9d2097d23945c6fab6d3d06dbff04578c8054e
CRs-Fixed: 1023663
2016-08-19 18:33:20 -07:00
Mohit Khanna
1d531c408f qcacld-3.0: Add USB bus support (PLD)
Add PLD specific changes for USB bus support.

CRs-Fixed: 1023663
Change-Id: I030ee8a5e6dd13ed8bd970d80f435219677c4e4b
2016-08-19 18:33:17 -07:00
Mohit Khanna
fa99aea342 qcacld-3.0: Add USB bus support (HDD)
Add HDD specific changes for USB bus support.

CRs-Fixed: 1023663
Change-Id: I572a78cd9de1f7e531f300ced69a7eb51f4a167f
2016-08-19 18:33:16 -07:00
Himanshu Agarwal
11a08c08db qcacld-3.0: Add check to find IPV6 mcast packet
Propagation from qcacld-2.0 to qcacld-3.0.

1) Add check to find IPV6 mcast packet embedded in a
   link layer unicast packet in wma_wow_wake_up_stats.
2) Add extra length check for IPV4 packets.

Change-Id: Ic2af69032262237b8751019817ae181913346818
CRs-Fixed: 1049254
2016-08-19 18:33:14 -07:00
Himanshu Agarwal
4574e28362 qcacld-3.0: Correct wow wakeup counters
Propagation from qcacld-2.0 to qcacld-3.0.

Correct the updation of various wow wakeup counts.
Change wow_icmpv6_uc_bc_count to wow_icmpv6_count
as there is no broadcast in case of ipv6.

Change-Id: Iceaf1226edbf909ca3881e049c33f7d121860ef2
CRs-fixed: 1049254
2016-08-19 18:33:12 -07:00
Himanshu Agarwal
77e1b31e0d qcacld-3.0: Add ipv4 and ipv6 packet checks
Propagation from qcacld-2.0 to qcacld-3.0.

Presently in updating wma_wow_wake_up_stats, icmpv4 and icmpv6
counts are increased just by checking ICMP protocol offset byte
and ICMPV6 protocol offset byte without checking for whether it
is a IPV4 or IPV6 packet. So it is possible that for ICMPV6 packet,
the IPV4 protol offset byte is equal to ICMP protocol or for some
ICMP packet, the IPV6 protocol byte is equal to ICMPV6 protocol and
thus both the icmpv4 and icmpv6 counts will get increased for that packet.

Add ipv4 and ipv6 packet checks as well in addition to the present checks
to avoid wrong increment in the counts.

Change-Id: I2d6e5d095d2f4b2dd474b9338bfc830b04bfa533
CRs-fixed: 1048651
2016-08-19 18:33:11 -07:00
Tushnim Bhattacharyya
c7d6202f2a qcacld-3.0: Disallow chain mask request for 2x2 if hardware is not capable
Disallow host requesting for 2x2 chain if hardware is not capable of or
ini setting disabled it. Downgrade the request to 1x1 instead. No need for
waiting for NSS update to complete as all requests are serialized through
SME cmd queue.

Change-Id: Ifee4ce15771b57ac3cc1e85650c56f426c34c833
CRs-Fixed: 1037816
2016-08-19 18:33:08 -07:00
Mohit Khanna
47384bcd39 qcacld-3.0: fix peer map handler race condition
The existing peer_map_unmap_lock in ol_txrx_peer_find_add_id
does not include call to ol_txrx_peer_unref_delete. The peer addition
handling needs to be atomic with peer reference deletion (in case peer
ref deletion is required).

Move the peer_map_unmap_lock to include ol_txrx_peer_unref_delete.

CRs-Fixed: 1056442
Change-Id: Ica15ea70527f0ea116b960dd7958da73f304288b
2016-08-19 18:33:07 -07:00
Arun Khandavalli
d454d42793 qcacld-3.0: Increase WMA_STA_WOW_DEFAULT_PTRN_MAX to 5
qcacld-2.0 to qcacld-3.0 propagation

The problem with the existing code is:
* WMA_STA_WOW_DEFAULT_PTRN_MAX is set to 4 and in wma_wow_sta()
  we make sure atleast WMA_STA_WOW_DEFAULT_PTRN_MAX free slots are
  available before configuring the default wow pattern. But after this
  check we are actually configuring 5 default wow patterns.
* If BPF is enabled, we are limiting the Max WoW patterns to 2,
  because the free slots are 2 which is less than the expected default
  free slots WMA_STA_WOW_DEFAULT_PTRN_MAX. we are not configuring
  default STA mode wow pattern and hence no wakeups observed for
  incoming packets.
Address this issue by changing the WMA_STA_WOW_DEFAULT_PTRN_MAX to 5 and
MAX WoW filters to WMA_STA_WOW_DEFAULT_PTRN_MAX if BPF is enabled.

Change-Id: If433cff18ce511e7fdffadff69ee13b762a1719b
CRs-Fixed: 973054
2016-08-19 18:33:05 -07:00
Arun Khandavalli
3dd06deb03 qcacld-3.0: BPF fixes for check connection state, set maxwow filter
qcacld-2.0 to qcacld-3.0 propagation

* Set BPF filter only if the station/p2p client is in the connected
  state.
* Depending on the BPF service enabled in firmware dynamically
  configure the number of wow filters.
    - If bpf enabled maxwowfilter is 2.
    - If bpf is disabled maxwowfilter is read from ini.

Change-Id: I14c722c9a1189f4ba4fbc2c8a554ae85b7a61fa8
CRs-Fixed: 967535
2016-08-19 18:33:04 -07:00
Arun Khandavalli
c67110c9b2 qcacld-3.0: Start ap adapter from __wlan_hdd_add_virtual_intf
With SAP+STA concurrency there shall be a new interface created softap0 on
which SAP comes up. In the present scenario the support for starting
the ap adapter only via the change interface.
Since the SAP adapter is not started the start_bss request from the
upper layer fails.

To migitate the issue add support for the start ap adapter from the
 __wlan_hdd_add_virtual_intf.

Change-Id: I4d112441b5aa7ff91dafa9e43f9aceb18d0e13f0
CRs-Fixed: 1056331
2016-08-19 18:33:01 -07:00
qcabuildsw
4cf1ca19ea Release 5.1.0.23T
Release 5.1.0.23T

Change-Id: Id3726a27cc0f0a3600c1e961cb5282f16369283f
CRs-Fixed: 688141
2016-08-19 16:58:23 -07:00
Sreelakshmi Konamki
e1cd51f194 qcacld-3.0: Update ICMP and ICMPV6 WOW wake up stats
qcacld-2.0 to qcacld-3.0 propagation

Currently ICMP counter is incremented only for IPV4 multicast packets.
But ICMP count includes total unicast/multicast/broadcast ICMP packets.

Add changes to update ICMP counter for unicast/multicast/broadcast
ICMP packets.

Change-Id: I00f9fb0c8231fd69f6c108ced8028eb19315006e
CRs-Fixed: 1020079
2016-08-19 16:58:20 -07:00
Padma, Santhosh Kumar
5e33bebbc2 qcacld-3.0: Get wakelock stats
qcacld-2.0 to qcacld-3.0 propagation

Send wakelock stats to HAL layer when it requests through vendor
command QCA_NL80211_VENDOR_SUBCMD_WAKELOCK_STATS. This is a
blocking request in HDD.

Change-Id: Ie043323d90f63c19de2da9d1b8b54bc28d2c8f3d
CRs-Fixed: 958964
2016-08-19 16:58:18 -07:00
Govind Singh
068c4b0fc3 qcacld-3.0: Set NAPI event after hif layer is initialized
hdd_napi_event requires hif_ctx, after dynamic mode feature hif_ctx
is getting created later as part of hdd_start_modules. HIF ctx is being
created/destroyed depending on the interface up/down from the upper
layer, hence set NAPI event after hif layer is initialized.

Change-Id: I9fb21f6f75cc689620a6befd997956610e2ca3ae
CRs-fixed: 1055660
2016-08-19 16:58:16 -07:00
qcabuildsw
6c453d93a6 Release 5.1.0.23S
Release 5.1.0.23S

Change-Id: I9b6d5c1ccb88c478e7eecb9f82d4aae56f132820
CRs-Fixed: 688141
2016-08-19 11:03:51 -07:00
Arif Hussain
aca67305b5 qcacld-3.0: SAP: Add radar pulse table for KR and CN
Add radar pulse table for new DFS domain KR and CN.

Change-Id: I75708a215f51b558a6b7573bcc730a08d2e4bd11
CRs-Fixed: 1047817
2016-08-19 11:03:51 -07:00
Amar Singhal
604ba6cf04 qcacld-3.0: Modify DFS region for KR and CN
KR and CN have different DFS regions than what kernel provides.
Assign the correct DFS regions for KR and CN. Also use "enum
dfs_region" as the parameter type in functions that have
dfs region as parameter.

CRs-Fixed: 1047214
Change-Id: I2ddd67d3c29a448dd2a1d3a63113750783fb6731
2016-08-19 11:03:51 -07:00
qcabuildsw
2807f3d22e Release 5.1.0.23R
Release 5.1.0.23R

Change-Id: I384e3faaaff18c51d750542f45ab1a1f3cd7ca96
CRs-Fixed: 688141
2016-08-19 11:03:51 -07:00
Yuanyuan Liu
3e918e5ca3 qcacld-3.0: Send WLAN off event to WLS at the end of WLAN off steps
send WLAN off event to WLS at the end of WLAN off steps
to make sure WLAN is really off when WLS calls 'glink deinit'.

Change-Id: I29e15d51ec306071fc9f5ff7e3565c75814944e8
CRs-Fixed: 985226
2016-08-19 11:03:51 -07:00
Yuanyuan Liu
f2ee05f167 qcacld-3.0: Provide PLD API for getting IRQ number
Provide PLD API of getting IRQ number for a given CE ID.

Change-Id: Icd293993e84ab4daa98430db231b8b73e082cd29
CRs-Fixed: 1047259
2016-08-19 11:03:51 -07:00
qcabuildsw
b07f5ab403 Release 5.1.0.23Q
Release 5.1.0.23Q

Change-Id: I5dda077d8a1160e20b91077856dc7be7a89c9543
CRs-Fixed: 688141
2016-08-18 09:11:48 -07:00
Manishekar Chandrasekaran
d3ee9756dc qcacld-3.0: Ensure MAS commands to be made PDEV specific
Make MAS (MCC Adaptive Scheduler) commands to be PDEV
specific.

Two instances of OCS (Off Channel Scheduler) can exist
in the FW (one per MAC) and FW provides the option of
enabling and disabling MAS on a per MAC basis. But,
Host does not have enable/disable option for individual
MACs. So, the agreement with the FW is for the Host to
send down a ‘pdev id’ of 0. When ‘pdev id’ of 0 is used,
FW treats this as a SOC level command and applies the
same value to both MACs. So, irrespective of the value
of ‘WMI_SERVICE_DEPRECATED_REPLACE’ in the WMI service
bit map, the pdev id needs to be ‘0’ (SOC level) for
the WMI command
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID.

WMI command WMI_RESMGR_SET_CHAN_TIME_QUOTA_CMDID to set
the MCC quota is sent down as channel – value pairs.
The value being channel time quota and the channel being
sent down is a home channel. The additional requirement
from FW is that all the channels in a single WMI command
belong to the same MAC. FW asserts if the WMI command
mixes and matches home channels associated with
different MACs. So, although the PDEV ID is not part of
the WMI command struct, the cmd is in a sense PDEV
specific.

There is no change in the WMI command
WMI_RESMGR_SET_CHAN_LATENCY_CMDID to make it PDEV
specific since this WMI command always send only one
channel-latency pair to the FW. So, there shouldn’t be
any problem of FW receiving home channels associated
with different MACs, for this WMI command.

Change-Id: Ie22800e07bbeef65c43f9171de828533b982a06b
CRs-Fixed: 1052652
2016-08-18 09:11:47 -07:00
qcabuildsw
cf6ce2c055 Release 5.1.0.23P
Release 5.1.0.23P

Change-Id: Ie16a5163c716d5bd9fc0ee211ab206079218d6c4
CRs-Fixed: 688141
2016-08-18 01:49:44 -07:00
Govind Singh
b84759415b qcacld-3.0: Add ndp_ctx NULL check in error scenario
Add ndp_ctx NULL check in error scenario before
dereferencing it.

Propagation from qcacld-2.0 to qcacld-3.0.

Change-Id: I7a6aa92351e0140b78c9d7b95f2a6cca45f8e387
CRs-Fixed: 1044060
2016-08-18 01:49:43 -07:00
qcabuildsw
e5fe78c945 Release 5.1.0.23O
Release 5.1.0.23O

Change-Id: I5db783be1a0d9568d335588cee0b49a82734721a
CRs-Fixed: 688141
2016-08-18 00:41:02 -07:00
Nirav Shah
c657ef50ea qcacld-3.0: Changes to update mac_id in packetlog
Changes to update mac_id in packetlog header
for DBS.

Change-Id: I602d399e1ef34077b5d7bfc867fb60678ed8612c
CRs-fixed: 1047382
2016-08-18 00:41:01 -07:00
qcabuildsw
cb6e2089bb Release 5.1.0.23N
Release 5.1.0.23N

Change-Id: Iea866eec216ff827b53869454df616934852120a
CRs-Fixed: 688141
2016-08-17 20:06:12 -07:00
Sandeep Puligilla
829d6acb75 qcacld-3.0: Remove duplicate OBSS start scan request
Host is sending OBSS start scan request twice to firmware.
OBSS scan start is triggered as part of the set context response
processing and it gets called twice after association.

Added condition check to allow only once the OBSS scan request.

Change-Id: I8ccc7172df9d89aaa09ad924ced7f8ed5a6ace13
CRs-Fixed: 1053626
2016-08-17 20:06:11 -07:00
Krishna Kumaar Natarajan
da90922125 qcacld-3.0: Fix incorrect compilation flag termination
Fix incorrect compilation flag termination.

Under WLAN_ENABLE_AGEIE_ON_SCAN_RESULTS compilation flag TDLS and few
other unrelated changes were present. This change set will remove
the unrelated changes outside this compilation flag.

Change-Id: I16ca3013147c549acc1b0758c268af717166ac57
CRs-Fixed: 1050754
2016-08-17 20:06:09 -07:00
Krishna Kumaar Natarajan
89a99d46ed qcacld-3.0: Provide sequence control information to userspace
Provide sequence control information to userpace tool via
vendor IE.

Change-Id: Ic0489f7fca3519964b12aa5f272bd66a4d02115c
CRs-Fixed: 1050754
2016-08-17 20:06:06 -07:00
Poddar, Siddarth
7ca1e08421 qcacld-3.0: Delete PMF Sta from previous vdev
qcacld-2.0 to qcacld-3.0 propagation

If a PMF Sta is already connected to one interface and try
to switch to other interface without sending deauth/disassoc,
sta entry is not deleted from previous vdev and one more entry
is created on current vdev. Due to this htt is not able to get
valid peer for EAPOL packets and EAPOL packets are dropped leading
to connection failure.
To fix this, Add check to delete PMF Sta from one vdev when
assoc request is received on another vdev.

Change-Id: Ida2e20fe08af3c6ed426822a71db1fd6854a0bea
CRs-Fixed: 1033224
2016-08-17 20:06:04 -07:00
qcabuildsw
53675724ec Release 5.1.0.23M
Release 5.1.0.23M

Change-Id: I5d684de1663405265674bbbf42d8ebeb604853fb
CRs-Fixed: 688141
2016-08-17 17:07:05 -07:00
Poddar, Siddarth
74178df581 qcacld-3.0: Add argument to ol_tx_queue_free for vdev or peer queues
qcacld-2.0 to qcacld-3.0 propagation

Add additional argument in ol_tx_queue_free to indicate whether
txq is vdev or peer queues to avoid extracting peer_id in case of
vdev txq queue in ol_tx_queue_log_free function.

Change-Id: Ic521c23b4001f15a382e9435413cdafca0c8b49f
CRs-Fixed: 1023457
2016-08-17 17:07:03 -07:00
Poddar, Siddarth
0cec8eaf67 qcacld-3.0: add NULL check and drop rx indication for a frame
qcacld-2.0 to qcacld-3.0 propagation

Add check to handle kernel NULL pointer dereference
during calling ol_rx_reorder_release.

Change-Id: If0367e0a7910d7ee460709fc8ae25ecc6de3485d
CRs-Fixed: 994435
2016-08-17 17:07:01 -07:00
Kabilan Kannan
ff89f748c1 qcacld-3.0: Avoid race condition in antenna switch operation
qcacld-2.0 to qcacld-3.0 propagation

When the TDLS traffic flows continuously between the two
peers and if the antenna switch command comes from the
user, it creates a race condition and blocks the
antenna switch operation.
Add a new transition state in TDLS to avoid this race
condition.

Change-Id: I1c9b183c460e1401bd1ee2631489c57778ec665b
CRs-Fixed: 971505
2016-08-17 17:06:58 -07:00
Selvaraj, Sridhar
35cc2cf07c qcacld-3.0: Don't populate TDLS IE's in extended capabilities
qcacld-2.0 to qcacld-3.0 propagation

Currently in case of IBSS, beacons are populated with TDLS IE's
in extended capabilities though TDLS IE's and extended capabilities
doesn't signify anything.

Fix will ensure to exclude extended capabilities and TDLS IE's

Git-commit: c50b50f7f0616b4536e7df998e98f9347562e680
Change-Id: I63b6f413964cc53f2f25496fef40f99c4244293a
CRs-Fixed: 1017887
2016-08-17 17:06:55 -07:00
Yun Park
7f171abb04 qcacld-3.0: Fix potential NULL dereference in ol_txrx_ipa_uc_get_resource
Pointer 'cds_get_context(QDF_MODULE_ID_TXRX)' returned from call to
function ol_txrx_ipa_uc_get_resource may be NULL and will be
dereferenced.
The fix is to check if cds_get_context is not NULL before passing it
to ol_txrx_ipa_uc_get_resource.

Change-Id: Idbb69bcbef6cb54df334c30419dc0f7015466f28
CRs-Fixed: 1042048
2016-08-17 17:06:53 -07:00
Arun Khandavalli
0850081699 qcacld-3.0: Validate the memory allocation for the bpf program
Validate the memory allocated for the bpf filter program before
dereferencing it.

Also return the correct error status to the caller

Change-Id: Ia165e2f8611830f26c6e466f74bb5e32fc8822e8
CRs-Fixed: 1042027
2016-08-17 17:06:51 -07:00
Mukul Sharma
45114d999a qcacld-3.0: Move scan_results_available from bucket complete to cycle complete
qcacld-2.0 to qcacld-3.0 propagation

Currently extscan_results_available event is posted to user space after a
bucket scan is completed. If the extscan start request is configured for
multiple buckets, then the user space application tries to fetch cached
results on every extscan_results available.
If the get_cached_results is issued with flush=1, then every get_cached_results
will have 0 scan results and since flush=1 is set, due to a bug in firmware
even the temporary scan cache is flushed, there by we miss reporting the
APs found in the previous bucket scans and only the last get_cached_results
will report the APs found in the last bucket scan. Whereas the expectation is
get_cached_results must report all the APs found in the complete scan cycle.
The proposed fix is in both firmware and host:
1. Firmware to ignore get_cached_results flush=1 and not to flush the temporary
   scan cache in the middle of extscan cycle.
2. Host to consume bucket_started event within host driver and map
   extscan_results_available with cycle_complete instead of bucket_complete.

Change-Id: I399204261fa3d8515146c590630a3bb663ee801c
CRs-Fixed: 975402
2016-08-17 17:06:48 -07:00
Mukul Sharma
fa937be21a qcacld-3.0: Enhance EXTSCAN feature
qcacld-2.0 to qcacld-3.0 propagation

Make the following enhancements to the EXTSCAN feature:
* Add buckets_scanned param while sending
  on_full_scan_result/cached result event to user space.
* Configure REPORT_EVENTS_CONTEXT_HUB to firmware.
* Remove status while sending on_scan_event to user space.
* Add support for SCAN_THRESHOLD_NUM_SCANS /
  SCAN_THRESHOLD_PERCENT while sending scan event.

Change-Id: Ib37ce7cef5b3ce9d9ee4ebdc5ea9bcadaad7b695
CRs-Fixed: 960456
2016-08-17 17:06:45 -07:00
Rajeev Kumar
dd3bc6012f qcacld-3.0: Add INI item to control BPF feature configuration
Add INI item to control BPF feature configuration.

Change-Id: Ia110916f5d657db6970f988dab5c3be55074c3bf
CRs-Fixed: 1055033
2016-08-17 17:06:43 -07:00
Himanshu Agarwal
ec51a5a4c8 qcacld-3.0: Dump more WoW wakeup packet info
Propagation from qcacld-2.0 to qcacld-3.0.

Dump some more info for WOW wakeup packet:
   1) ether_type
   2) proto_type in case of IPV4 and IPV6 packets
   3) src port and dst port in case of TCP/UDP

Change-Id: I1578aa5322af50f0ae43248c48a2f754ea081970
CRs-Fixed: 1043939
2016-08-17 17:06:38 -07:00
Himanshu Agarwal
f951500494 qcacld-3.0: Change print type from %d to %u for unsigned variables
Propagation from qcacld-2.0 to qcacld-3.0.

Change print type from %d to %u for the unsigned variables in
wma_wow_dump_mgmt_buffer and wma_wow_parse_data_pkt_buffer.

Change-Id: I2ea9ae2aa5c6f1bbec65b724de35a0071ea26804
CRs-Fixed: 1038593
2016-08-17 17:06:35 -07:00
Himanshu Agarwal
dd356df33d qcacld-3.0: Dump header info for first mgmt. packet after WOW wakeup
Propagation from qcacld-2.0 to qcacld-3.0.

Dump soem information such as source MAC address, destination
MAC address, sequence number, packet type, subtype and other
important information for the first mgmt. packet after WOW wakeup.

Change-Id: I4f39d93e8aeb243ec3df5cc1a916aec0a1aa4819
CRs-Fixed: 1019037
2016-08-17 17:06:33 -07:00
Himanshu Agarwal
82de9040dd qcacld-3.0: Dump header info for first data packet after WOW wakeup
Propagation from qcacld-2.0 to qcacld-3.0.

Dump some information such as source MAC address, destination
MAC address, sequence number, packet type, subtype and other
important information for the first data packet after WOW wakeup.

Change-Id: I3c83991f56be34412f3f10adf58bd991ecb536ca
CRs-Fixed: 1019037
2016-08-17 17:06:31 -07:00
Nirav Shah
5e74bb81d5 qcacld-3.0: Parse tx packets only once in tx datapath
Classify tx packets at one place and store packet type in
skb cb structure to avoid multiple check to determine
packet type at various layers.

Change-Id: Id2ea9b08bdcbc62b1d96d983d19bcf71becc9c42
CRs-Fixed: 1022454
2016-08-17 17:06:28 -07:00
Nirav Shah
bd36b0690b qcacld-3.0: Changes to support different rx data path
Changes to configure different rx data path rx_thread,
RPS or NAPI through ini parameters. Also added support
for RPS mask setting using cnss-daemon.

CRs-fixed: 1026370
Change-Id: I23ab8fe0f05245b38cf4b37e93da8fd99d4c1f68
2016-08-17 17:06:26 -07:00
qcabuildsw
aedea909b4 Release 5.1.0.23L
Release 5.1.0.23L

Change-Id: I5d82962af91661bd6ab69a36784180e032e99211
CRs-Fixed: 688141
2016-08-17 11:21:48 -07:00
Arif Hussain
e69337b2ca qcacld-3.0: Update wma_get_channels as per the latest draft for 160MHz
as per the latest draft for BSS bandwidth 160MHz, channel frequency segment 2
represents the center channel frequency. Update wma_get_channels to use correct
segment to calculate center channel when operating in 160MHz.

Change-Id: I9a8f2035b590a90415fbc5a0a6608c48bbd5b2e5
CRs-Fixed: 1048793
2016-08-17 11:21:48 -07:00
Prakash Dhavali
6b561685d4 Release 5.1.0.23K
Release 5.1.0.23K

Change-Id: I1af1099fb2be6547036ffc2d60d841d4b4e51af6
CRs-Fixed: 688141
2016-08-17 11:21:48 -07:00
Ganesh Kondabattini
ff05066870 qcacld-3.0: free the memory for ch_list while unloading the driver
qcacld-2.0 to qcacld-3.0 propagation

If unloading the driver at the time __wlan_hdd_cfg80211_stop_ap is
called, free the memory allocated for ch_list before returing
from the __wlan_hdd_cfg80211_stop_ap. Otherwise it will result in
memory leak.

Change-Id: I16ab508f74068f7ca1452c97c6105a1ae6e38ef0
CRs-Fixed: 971886
2016-08-17 11:21:48 -07:00
Masti, Narayanraddi
ab712a7a63 qcacld-3.0: Fix to encrypt broadcast frames
qcacld-2.0 to qcacld-3.0 propagation

Currently, In SAP mode due to incorrect wep key
index broadcast frames are not encrypted.

Fix is to make sure to update default index for
BSS(group) key.

Change-Id: I328855decbad20dbd88b48022e466e4f78f5d722
CRs-Fixed: 932749
2016-08-17 11:21:47 -07:00
Sreelakshmi Konamki
142a2c8fd8 qcacld-3.0: Print correct no.of channels
qcacld-2.0 to qcacld-3.0 propagation

In __wlan_hdd_cfg80211_scan(), no.of channels printed as received no.of
channels from supplicant instead of filtered no.of non DSRC channels.

Fix to update the correct no.of channels

Change-Id: I5f424a043535b0fdcc7886ba062b34fbc2e6dca0
CRs-Fixed: 1036775
2016-08-17 11:21:47 -07:00
Sreelakshmi Konamki
752f5b1338 qcacld-3.0: Fix to remove 11P channels from channel list during scan
qcacld-2.0 to qcacld-3.0 propagation

As per current implementation 11P channels are added to 5G band
as part of driver initialization if FEATURE_STATICALLY_ADD_11P_CHANNELS
is not defined. Kernel has enabled 11P channels due to which it gives
11p channels as part of scan command. This increases the scan time.

Add changes to remove 11P channels from the received channel list
during scan command.

Change-Id: I4ae24a1813ac5d4738022b2f15a93736c2f05978
CRs-Fixed: 1003326
2016-08-17 11:21:47 -07:00
Sreelakshmi Konamki
2e8180d84b qcacld-3.0: Remove 11P channels from channel list in PNO scan
qcacld-2.0 to qcacld-3.0 propagation

Host driver receives 11P channels as part of PNO scan because
kernel enables 11P channels. This increases the scan time.

Add changes to remove 11P channels from the received
channel list in PNO scan

Change-Id: Iede759dfabdc971309f3d1f68411d241f415b422
CRs-Fixed: 1017824
2016-08-17 11:21:47 -07:00
Agrawal Ashish
f156e94f6a qcacld-3.0: Don't return max connection error before doing disconnect
qcacld-2.0 to qcacld-3.0 propagation

In some cases, it is possible that driver get request for connection
from supplicant without getting disconnect for previous connection.
If there are two active session, driver will return the error.
Driver should do disconnect first followed by check for
max concurrency is allowed.

Change-Id: Ie7bf202c47d0282019730448096d91c7dc888e34
CRs-Fixed: 945566
2016-08-17 11:21:47 -07:00
Prakash Dhavali
8080d23b71 Release 5.1.0.23J
Release 5.1.0.23J

Change-Id: I2972bfd1d092b01c9d819afe64c6a14bbaab0de9
CRs-Fixed: 688141
2016-08-17 11:21:47 -07:00
Ravi Joshi
ddce59aeef qcacld-3.0: Fix host debug message flooding for unicast traffic
The debug message was added to identify a case of trying to
send a unicast traffic to an unknown peer. However, as per the
implementation, the debug print becomes always true while
sending unicast traffic in station or p2p client mode.

Integration from qcacld-2.0 to qcacld-3.0.

CRs-Fixed: 1051920
Change-Id: I849317c699ffca1e057c4e59747e08535baca381
2016-08-17 11:21:47 -07:00
Yuanyuan Liu
0de344f3b5 qcacld-3.0: Update pld_soc_info structure
Update pld_soc_info structure with more Hardware information.

Change-Id: I42c0a16ec00c560b1cec1f355db3e15cd15adee5
CRs-Fixed: 1046753
2016-08-17 11:21:47 -07:00
Yuanyuan Liu
6043d3cff2 qcacld-3.0: Allocate memory for wlan_mac.bin
Directly accessing fw->data is not supported on msmcobalt.
It causes system crash due to invalid pointer.
Hence allocate memory and copy the content of
wlan_mac.bin to that memory before accessing it.

Change-Id: Ie10a8ccd3cc16d48fa509ece997f9098fce52c55
CRs-Fixed: 1045912
2016-08-17 11:21:47 -07:00
Yuanyuan Liu
5bdfad7653 qcacld-3.0: Add feature of auto-generate mac address
Auto-generate mac address using device serial number when the mac
address that passed from WLAN FW is invalid and no mac address
specified in ini file and no user defined mac address in wlan_mac.bin .

CRs-Fixed: 1047629
Change-Id: I4ecc901558bc526c99f8b9bdb9442a4d288b313c
2016-08-17 11:21:35 -07:00
Prakash Dhavali
c22e50b46a Release 5.1.0.23I
Release 5.1.0.23I

Change-Id: Iad282778957bfb33ba591b0f3757027e85d51237
CRs-Fixed: 688141
2016-08-13 18:27:35 -07:00
Manjunathappa Prakash
cf26ae6db3 qcacld-3.0: Serialize the freeing LRO descriptors
Add lock to serailize the freeing of LRO descriptors.
Without this double free of LRO descriptors lead to list
corruption.

Change-Id: I0b3c9ddecff0700ac1f6ec44f09c9ddf59997799
CRs-Fixed: 1053657
2016-08-13 18:27:29 -07:00
Vishwajith Upendra
040ecc2df9 Release 5.1.0.23H
Release 5.1.0.23H

Change-Id: I1982d65ac8689527ff23c72a2d96cc529b760fc2
CRs-Fixed: 688141
2016-08-13 18:27:22 -07:00
Kiran Kumar Lokere
5ea22bcb56 qcacld-3.0: Check if vdev is up before sending vdev down to FW
When auth timeout failure happens, as part of clean up process
vdev down is sent to FW but the vdev up happens only after the
assoc response is received. Sending the vdev down to without
vdev up leads to negative vdev up count value in the FW.

Check if vdev is up before sending the vdev down.

Change-Id: Ia5394390d376c638b3976d446a6ecc98d0584159
CRs-Fixed: 1051760
2016-08-13 18:27:16 -07:00
Vishwajith Upendra
cd60427e60 Release 5.1.0.23G
Release 5.1.0.23G

Change-Id: Id8eb43d012c8779a5530def288457b59dd1dacd0
CRs-Fixed: 688141
2016-08-13 18:27:07 -07:00
Krunal Soni
53993f7939 qcacld-3.0: Sessionize VHT Capability
Sessionize VHT Capability by updating the session
entry at join request or start bss and read the same
capablities at LIM instead of reading from global VHT
CFG items.

Following CFG items are taken care as part of this change.
WNI_CFG_VHT_SU_BEAMFORMER_CAP,
WNI_CFG_VHT_SU_BEAMFORMEE_CAP,
WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED,
WNI_CFG_VHT_MU_BEAMFORMER_CAP,
WNI_CFG_VHT_MU_BEAMFORMEE_CAP

Change-Id: I7c33de1180416db0027b4690170060549847dd9a
CRs-Fixed: 1029145
2016-08-13 18:26:59 -07:00
Sandeep Puligilla
9891743c1e qcacld-3.0: Sessionize VHT Capability
Sessionize VHT Capability by updating the session
entry at join request or start bss and read the same
capablities at LIM instead of reading from global VHT
CFG items .

Change-Id: Idef009d4c76cfc6939359dc09379fc1f0d820589
CRs-Fixed: 1029145
2016-08-13 18:26:47 -07:00
Vishwajith Upendra
ccbd5225ec Release 5.1.0.23F
Release 5.1.0.23F

Change-Id: I25c4a9dd0d8a4a3341512afb19a9bd1452a1a6d2
CRs-Fixed: 688141
2016-08-13 14:07:29 -07:00
Rajeev Kumar
46d26b7fcf qcacld-3.0: Fix race condition between scan and SSR/driver unload
HDD validate context check is at wrong place in __wlan_hdd_cfg80211_scan()
which is leading to invalid pointer access and page fault. Move HDD
validate context check at begining of scan API to avoid accessing any
context pointer which is getting freed during SSR/driver unload.

Change-Id: Id91c9ea54c513ecc25bdf42904a5bb5cde2e91ce
CRs-Fixed: 1025498
2016-08-13 14:07:29 -07:00
Kabilan Kannan
24389de0b9 qcacld-3.0: Fix the apps crash caused by tdls spinlock calls
Apps crash observed due to nested spin lock calls from
the soft irq context.
Change the tdls spin lock calls from qdf_spin_lock() to
qdf_spin_lock_bh(). This will avoid nested spin lock
calls.

Change-Id: I9c3d32f2385bec35ea7d9773ed4c36968a79a28b
CRs-Fixed: 1053041
2016-08-13 14:07:29 -07:00
Naveen Rawat
64e477ea40 qcacld-3.0: Add support for 5/10 MHz for STA and SAP role
Add support for 5/10 MHz channel width for STA and SAP role. To
enable/disable feature, following ini parameter will be used:
 * gSub20ChannelWidth=0: indicates do not use Sub 20 MHz bandwidth
   this is also the default value.
 * gSub20ChannelWidth=1: Bring up SAP/STA in 5 MHz bandwidth
 * gSub20ChannelWidth=2: Bring up SAP/STA in 10 MHz bandwidth

Change-Id: Ic6d534dc1eae60fcd2fb7533c934b9ea28e6dd78
CRs-Fixed: 1013211
2016-08-13 14:07:29 -07:00
Vishwajith Upendra
cb23ddd200 Release 5.1.0.23E
Release 5.1.0.23E

Change-Id: I4bffeb284a1ecc2b35092e8d85cf21714e0a5eed
CRs-Fixed: 688141
2016-08-13 14:07:29 -07:00
Jeff Johnson
85c0abffba qcacld-3.0: Convert wlan_hdd_debugfs.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In
qcacld-3.0 HDD should converge on a unified set of logging APIs.
Update wlan_hdd_debugfs.c to use the unified set of APIs.

Change-Id: I3981157eb8e285bc7259279fccd582a896eab36b
CRs-Fixed: 937649
2016-08-13 14:07:29 -07:00
Jeff Johnson
da5ee77d30 qcacld-3.0: Change max value of burst_dur ioctl
Currently the burst_dur private ioctl enforces a maximum limit of
8192.  Per firmware team define the max as 102400 (for 100 ms or a
normal beacon interval).

Change-Id: I3f01b06ad047f7b972e649c798e4a507fcc55755
CRs-Fixed: 1050791
2016-08-13 14:07:29 -07:00
Jeff Johnson
ca1b32b749 qcacld-3.0: Convert wlan_hdd_memdump.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_memdump.c to use the unified set of APIs.

Change-Id: I6026bed45fe24ca0c2c0cfb62a97f0dc613bd1ea
CRs-Fixed: 937665
2016-08-13 14:07:29 -07:00
Rakesh Sunki
1f0553fd55 qcacld-3.0: Fix NAN APIs when NAN data path feature is disabled
qcacld-2.0 to qcacld-3.0 propagation

Add NAN API wrapper function definitions and also fix compilation
failure when NAN data path feature is disabled.

Change-Id: Ib4a3133568eee0c2257c65bb0a8905c44048f0c2
CRs-Fixed: 1049546
2016-08-13 14:07:29 -07:00
Rakesh Sunki
ae936b6a50 qcacld-3.0: Delete peer(if needed) in ndp end indication
qcacld-2.0 to qcacld-3.0 propagation

Take action to delete peer in NDP_END Indication, rather than
NDP_END Response event from firmware. Earlier, device initiating
NDP_END will only get NDP_END_Response event from firmware, but
that behavior is changed now and both self and peer device will get
NDP_END_indication with peer map for ndp end.

Change-Id: I7316cc3864052eef4c7bbe9bbac01f0333909c59
CRs-Fixed: 962367
2016-08-13 14:07:29 -07:00
Krunal Soni
31949425f2 qcacld-3.0: Fix argument order in wlan_hdd_cfg80211_connect_start API
caller and callee of wlan_hdd_cfg80211_connect_start API are
interpreting BSSID and BSSID hint differently due to incorrect order.
This bug was introduced through change id:
I94c5a3dbbd831f6c82080dcc91008f9e3e6829f7

Fix the order of arguments.

Change-Id: I17850cc0d681664631b68a5193f936b678bff31a
CRs-fixed: 1051160
2016-08-13 14:07:28 -07:00
Krunal Soni
54da0c6469 qcacld-3.0: Fix dangling pointer in WMA module
Pointer pointing to address which used to be start of the
mac header is no longer true after pulling the head of the frame.

Due to above situation, it causes dangling pointer situation. Fix
the error by re-assigning the correct address.

Change-Id: I71693f86b1971e3c6d1ddd9c377ef888122c2bb8
CRs-Fixed: 1048951
2016-08-13 14:07:28 -07:00
Krunal Soni
cbda8555e6 qcacld-3.0: Remove deprecated API csr_isconcurrentsession_valid
In current driver, there is already an API called cds_allow_concurrency
which is functionally similar to csr_isconcurrentsession_valid. Remove old
API csr_isconcurrentsession_valid to have single API.

Change-Id: If81900af5cb7291917fe915b44af5cf763f16d46
CRs-Fixed: 1047054
2016-08-13 14:07:28 -07:00
Krunal Soni
bf5840bd7d qcacld-3.0: Fix to resolve checkpatch errors
In current code base, some of files are not meeting linux coding
standard.

Fix them to satisfy coding standard.

Change-Id: Iedb1ec9ad7c75cb9f7ef97b19f14dca3b5eb9b6c
CRs-Fixed: 1051212
2016-08-13 14:07:28 -07:00
Vishwajith Upendra
626ceb4ab2 Release 5.1.0.23D
Release 5.1.0.23D

Change-Id: If291f6c8016bc8fbc4c0eb1ad5003267e436e1ed
CRs-Fixed: 688141
2016-08-13 14:07:28 -07:00
Mohit Khanna
37ffb29390 qcacld-3.0: Fix for race condition in peer map/unmap handlers
In case there are multiple copy engines (for example in ihelium), the
peer map and unmap handlers may be executed on different CPUs
concurrently. These functions access global peer data structures and are
not SMP-safe.

Re-factor the existing code to make it SMP-safe.

Change-Id: I3f52e17a80d7eae8d4c2fb88da7f57f64455b031
CRs-Fixed: 1050653
2016-08-13 14:07:28 -07:00
Orhan K AKYILDIZ
b257bff22b qcacld-3.0: Make rx hash look-up SMP safe
Place a big spinlock on the rxhash so that only one
activity happens on it at a time.

Change-Id: Id1a020f508b6232d401d44da1cd0b9592288c81c
CRs-Fixed: 1048807
2016-08-13 14:07:28 -07:00
Houston Hoffman
5bf7482658 qcacld-3.0: Move memory free out of spinlock in ol_tso_seg_list_deinit
Assign the list to null inside the spinlock such that no one else
can access the free nodes. Then free the list outside of the spinlock.
This spinlock was causing a watchdog bark.

Change-Id: I9a34c8c3ea8451004814bcabfcbb81744d71ec45
CRs-Fixed: 1052458
2016-08-13 14:07:28 -07:00
Houston Hoffman
f09b50d888 qcacld-3.0: Fix link voting for sap mode
Bus link voting needs to vote for the link up before
voting for the link down.  The sap module voted for
link down before link up, overriding the default
settings of an always on bus.  This confused the suspend
resume system making it send WOW_IFACE_PAUSE_ENABLED
when the bus interface didn't have a "paused" mode.

Sap module should vote for link up when a sta is added
and vote link down when removed.

Change-Id: I5c042a3a4b3d4e6528fdc7edc9e0413c0f811192
CRs-Fixed: 1049469
2016-08-13 14:07:28 -07:00
Vishwajith Upendra
d779ad53f5 Release 5.1.0.23C
Release 5.1.0.23C

Change-Id: Iaf7aa73d8aa6eb87c8a442dfb62ce5b164758018
CRs-Fixed: 688141
2016-08-13 14:07:28 -07:00
Manishekar Chandrasekaran
c81ba245f0 qcacld-3.0: Fix compilation error when disabling WLAN_OPEN_P2P_INTERFACE
Fix the compilation error when the feature flag WLAN_OPEN_P2P_INTERFACE
is disabled.

Change-Id: I661f31f0f5c06afbaab789836078822c7af08efe
CRs-Fixed: 1042901
2016-08-13 14:07:28 -07:00
Manishekar Chandrasekaran
9e8c7be23d qcacld-3.0: Support for pre CAC on SAP for user requested channel
Add support for pre CAC on SAP for the user requested channel.
The reason for the requirement is to have SAP operations without
interruptions due to CAC. After starting SAP on the 2.4GHz
channel, the driver will start a pre CAC on the 5GHz DFS channel
requested. If no radar is detected, SAP is expected to switch
from the 2.4GHz channel to the DFS channel mentioned in the pre
CAC request. If radar is detected SAP will continue to operate on
the 2.4GHz channel. To provide the pre CAC channel to the driver,
vendor commands/attributes are used .

Change-Id: I4cf4bb5a861eea05f37fafb3bf35d327f5377aab
CRs-Fixed: 1045242
2016-08-13 14:07:02 -07:00
Vishwajith Upendra
9a47a82247 Release 5.1.0.23B
Release 5.1.0.23B

Change-Id: Ia26d477108f38f7a6f5f94729c6aa66817d182b4
CRs-Fixed: 688141
2016-08-05 16:33:02 -07:00
Naveen Rawat
209d09342f qcacld-3.0: Fix buffer overflow in hdd_hard_start_xmit
Check STAID value returned by hdd_get_transmit_sta_id against MAX_STA,
before accessing array based on STAID index.

Change-Id: I4ac88e3d95f425ddc3a8690ef5333e0a4e67d328
CRs-Fixed: 1050083
2016-08-05 16:32:29 -07:00
Vishwajith Upendra
d17105a98b Release 5.1.0.23A
Release 5.1.0.23A

Change-Id: I0887db4ed7098dc91635e813eb778d5b639300f7
CRs-Fixed: 688141
2016-08-05 16:32:00 -07:00
Kabilan Kannan
4446dddc3a qcacld-3.0: Fix memory leak in tdls module
TDLS init/exit functions have some dead code and it causes
memory leak for each wlan on/off operation.
Remove the dead code from TDLS init/exit functions.

Change-Id: Ie43057d94a27c34e970293b5cbc75edb6c0f6ca8
CRs-Fixed: 1050841
2016-08-05 16:31:31 -07:00
Kabilan Kannan
989f457e6d qcacld-3.0: Fix timer assert in tdls module
TDLS peer idle timers will be created only for implicit and external
mode operations. But tdls exit operation try to stop these timers
without checking the state of the timers and causes assert in
timer module.
Add changes to validate timer state before calls timer stop
function.

Change-Id: I6d41bbd99b49326b5a6eb8350f67923626d42400
CRs-Fixed: 1050836
2016-08-05 16:30:53 -07:00
Vishwajith Upendra
a4f6bcf384 Release 5.1.0.23
Release 5.1.0.23

Change-Id: I781a355b11c620bfabb0a083c362c53debdd9460
CRs-Fixed: 688141
2016-08-05 16:30:28 -07:00
Selvaraj, Sridhar
172cabce97 qcacld-3.0: Make OEM response events wakeable
qcacld-2.0 to qcacld-3.0 propagation

While RTT ranging happens, userspace application initiates FTM
request via host to  FW. After sending the FTM request, host
might go to sleep mode sometimes so FW will not be able to send
the OEM response event resulting in poor ranging results.
This change registers OEM response event as WOW wakeable so FW
wakes up host whenever it receives OEM response which helps OEM
response to reach userspace application on time for better
ranging results.

Git-commit: 4de9b661e45a0bde4dfefc760edf03d1b8f4dd68
Change-Id: I71b77cfa09c5039b487e9a93490837a084314fb3
CRs-Fixed: 1018887
2016-08-05 16:30:07 -07:00
Vishwajith Upendra
d7d1c9cf24 Release 5.1.0.22Z
Release 5.1.0.22Z

Change-Id: I024f51b47bf105c1ebfc05a0c8a22628012acfa0
CRs-Fixed: 688141
2016-08-05 16:29:29 -07:00
Ravi Joshi
ae8e9a7e09 qcacld-3.0: Enable bus bw request and tcp delayed ack
Bus bandwidth request timer samples the traffic on STA and
P2P client adapters to trigger bandwidth request and also enable
tcp delayed ack trigger to cnss daemon.

CRs-Fixed: 1050190
Change-Id: Iecd8a3f3762aa4c7743fb6ea22a8216fdac2ac8c
2016-08-05 16:28:55 -07:00
Arun Khandavalli
fae9294564 qcacld-3.0: Dynamic Mode changes
Currently MCL driver loads/unloads when user tries to
Switch On/Off from GUI and load process is different
for the static and dynamic built driver.
With this feature, we shall have a uniform behavior for
static and dynamic driver,  where the driver will be
loaded once and unload never.
Mode switch for different modes is supported via sysfs entries.

Change-Id: Ica49dd289d7f1f0ad0c56af76bd7bcfeca433a2e
CRs-Fixed: 1049218
2016-08-05 11:24:29 +05:30
Arun Khandavalli
1496fcb9be qcacld-3.0: Export APIs for power on/off WLAN hardware
Export APIs to WLAN driver to power on/off WLAN hardware.

Change-Id: I3743b8fe333d3a64b01109e3e821ce44443bdafd
CRs-Fixed: 1017496
2016-08-05 11:23:56 +05:30
Arun Khandavalli
d4349a9a50 qcacld-3.0: Refactor initialization of cds modules
As a part of the dynamic mode changes, the CDS modules shall be
closed/re-opened several times. Depending on the STATE of the driver,
the modules have to be initialized.

This function shall be invoked when driver state
is OPENED(DRIVER_MODULES_OPENED) and has to be enabled.

Change-Id: Ife4a4d8121bdc5ef9ed92aa9aea1d92ee4554732
CRs-Fixed: 1045626
2016-08-05 11:22:12 +05:30
Vishwajith Upendra
89eedcc754 Release 5.1.0.22Y
Release 5.1.0.22Y

Change-Id: I543495b76ae114969255ac92eeb553d1c55b2ddf
CRs-Fixed: 688141
2016-08-04 12:35:38 -07:00
Krishna Kumaar Natarajan
cc077c2264 qcacld-3.0: Update default INI config value for rm_capability
Update default INI config value for rm_capability to indicate
support for LCI capability.

Change-Id: Id5303ffc4004e58f6302f8692a15b8040231c3a4
CRs-Fixed: 1049333
2016-08-04 12:35:37 -07:00
Krishna Kumaar Natarajan
c1fa17d047 qcacld-3.0: Remove usage of typedef for oem related structures
Remove the usage of typedef for oem data request and oem
data response data structure.

Change-Id: I94f05833baa9b6baaf2272f63a33236437a96bbf
CRs-Fixed: 1038872
2016-08-04 12:35:36 -07:00
Krishna Kumaar Natarajan
bbbf2ef17b qcacld-3.0: Remove unused data structures related to OEM message
Remove unused data structures related to OEM message

Change-Id: I33c5190b78ffff2bf160e57a6edaf4b67189062c
CRs-Fixed: 1038872
2016-08-04 12:35:34 -07:00
Krishna Kumaar Natarajan
ad79826137 qcacld-3.0: Remove global oem data request/response buffer
Remove global oem data request/response buffer.

Change-Id: I95078c985c5034d9d530ad542ace129309d79886
CRs-Fixed: 1038872
2016-08-04 12:35:33 -07:00
Krishna Kumaar Natarajan
73ea9f2259 qcacld-3.0: Remove oem data rsp passing over multiple layers
Remove oem data rsp passing over multiple layers.

This change set sends the OEM data response directly to
SME from WMA instead of going through LIM/MLM.

Change-Id: I3cff10ff7bdbcee39b39bd9ba03b5eff8444b017
CRs-Fixed: 1038872
2016-08-04 12:35:30 -07:00
Krishna Kumaar Natarajan
c5e06accd6 qcacld-3.0: Remove oem data request passing over multiple layers
Remove oem data request passing over multiple layers.

This change set sends the OEM data request directly from
SME to WMA instead of going through LIM/MLM.

Change-Id: I151fa771544e9f74b1b69b18d689176752760621
CRs-Fixed: 1038872
2016-08-04 12:35:28 -07:00
Krishna Kumaar Natarajan
9a78b25103 qcacld-3.0: Remove handling of deprecated OEM related events
Remove handling of deprecated OEM related events since FW and
userspace application will use only TLV based messaging.

Support to handle following events are removed,
WMI_OEM_CAPABILITY_EVENTID
WMI_OEM_MEASUREMENT_REPORT_EVENTID
WMI_OEM_ERROR_REPORT_EVENTID

Change-Id: Ia194f559acde6689a50c56b52078b7dc967c6159
CRs-Fixed: 1038872
2016-08-04 12:35:26 -07:00
Vishwajith Upendra
dc335378ca Release 5.1.0.22X
Release 5.1.0.22X

Change-Id: Ifc771a833269139b85f26c57062fd0ab80ca1fc0
CRs-Fixed: 688141
2016-08-03 18:57:42 -07:00
Selvaraj, Sridhar
258594ca59 qcacld-3.0: Fix uninitialized heap and stack usage
qcacld-2.0 to qcacld-3.0 propagation

Fix uninitialized stack use in csrRoamReadTSF by initializing
variable of struct type tCsrNeighborRoamBSSInfo to zero.

Git-commit: d39cf92e69222e03f89238313f5b8c100ecd4ecc
Change-Id: I4211b41b5e30d414e45691a5bab4048587cc8499
CRs-Fixed: 1018486
2016-08-03 18:57:35 -07:00
Vishwajith Upendra
c3ba2aacba Release 5.1.0.22W
Release 5.1.0.22W

Change-Id: I0ab541e388344f6635bca51386caeaa299c675ae
CRs-Fixed: 688141
2016-08-03 18:57:27 -07:00
Selvaraj, Sridhar
b5cce8783e qcacld-3.0: Fix crash in wlan_hdd_tdls_check_power_save_prohibited
qcacld-2.0 to qcacld-3.0 propagation

Due to pre-emption there could be probability that tdls context
is accessed in wlan_hdd_tdls_check_power_save_prohibited after it's
released. This will result in kernel panic.

Protect tdls context with mutex lock before accessing

Change-Id: I33369320de5b0aadae661d7d27fbc5ba18e9e409
CRs-Fixed: 990645
2016-08-03 18:57:22 -07:00
Selvaraj, Sridhar
bc950df65f qcacld-3.0: Fix stack corruption issue in sme_RrmProcessNeighborReport
qcacld-2.0 to qcacld-3.0 propagation

When STA process Neighbor report from AP, session_id is declared
as one byte variable and its overwritten with four bytes value
in csrRoamGetSessionIdFromBSSID. This is observed on enabling stack
protection in kernel config(CONFIG_CC_STACKPROTECTOR).

Fix is to declare session_id as four bytes variable.

Git-commit: 96646d1eb48c4f3bf45555b8f636f90cf925b8b8
Change-Id: I6b2fd40a5466fe5dd72d394abb682229a550e0b1
CRs-Fixed: 1025272
2016-08-03 18:57:16 -07:00
Rajeev Kumar
348ed99339 qcacld-3.0: Add memory allocation failure check for BPF instructions
Add check for BPF instructions memory allocation failure and fail
the request gracefully if memory allocation fails.

Change-Id: Ifa6cab73c59aa4a7c587fa0b7d38e9b8523a3b1c
CRs-Fixed: 1047209
2016-08-03 18:57:10 -07:00
Rajeev Kumar
e5a1682c3e qcacld-3.0: memset bpf load to zero, update the bpf enabled correctly
Propagation from qcacld-2.0 to qcacld-3.0

- Current length of bpf is not set during the reset filter. set offload
  is allocated through malloc, so invalid values for current_length
  are recieved during reset. Memset set_bpfload to zero after
  allocation.
- update the bpf service to hdd correctly depending on the
  wmi service bitmap recieved from the firmware.

Change-Id: Iaf4774865cf0698a2deebac5cea62c873146e838
CRs-Fixed: 985562
2016-08-03 18:55:55 -07:00
Vishwajith Upendra
7a6f175c1f Release 5.1.0.22V
Release 5.1.0.22V

Change-Id: I793a88218490fc765d1a9e1da80b782f9032d80c
CRs-Fixed: 688141
2016-08-03 18:34:50 -07:00
Rajeev Kumar
a78a0a4578 qcacld-3.0: Add unit test framework to validate WLAN suspend/resume features
WLAN suspend/resume feature has tight dependency on APPS platform
suspend/resume support. On new targets APPS suspend/resume is not
supported until target is feature complete. In absence of APPS
suspend/resume support testing WLAN offload features become
difficult. Add unit test framework to test WLAN suspend/resume
features using private IOCTL command by simulating APPS
suspend/resume behaviour.

Trigger WLAN suspend:
iwpriv wlan0 wlan_suspend 0 0

To resume WLAN run a ping test from access point side and very 1st
ping request unicast packet should trigger wake up.

If FW is not waking up APPS then use below command to do a manual
wake up:

Trigger WLAN resume:
iwpriv wlan0 wlan_resume 0 0

This unit test framework is only for SNOC.

Change-Id: I177a0047f460aa2a305a9e4e46fbfaa94a81dced
CRs-Fixed: 1042205
2016-08-03 18:34:46 -07:00
Vishwajith Upendra
24ec5e9a87 Release 5.1.0.22U
Release 5.1.0.22U

Change-Id: I890cb59fc99d9cbb5dfd1f64feff923521a09dab
CRs-Fixed: 688141
2016-08-03 18:34:44 -07:00
Arif Hussain
a915f49b93 qcacld-3.0: Fix memory leak in wma_roam_scan_filter
In function wma_roam_scan_filter, memory is allocated to local variable
params. And in default case of the switch, we are returning from the function
without freeing the params memory, this cause memory leak.

To fix this, free params memory before return in switch case.

Change-Id: I0a8825b44f4bcd9b05f0e1f0e6cdd0d114af0a01
CRs-Fixed: 1048116
2016-08-03 18:34:41 -07:00
Arif Hussain
d3bf1115ef qcacld-3.0: Fix memory leak in csr_update_lost_link1_cmd
In function csr_update_lost_link1_cmd, memory is allocated to
local variable struct scan_filter, further we passing this
variable to csr_roam_prepare_filter_from_profile function and
allocating memory to the members of the scan_filter. At some
point in the function we are returning without freeing memory
allocated to scan_filter, which causes memory leak.

Make sure to free scan_filter’s memory before returning.

Change-Id: I448cf0d4bb16d4769b50c96495038684909e0739
CRs-Fixed: 1048116
2016-08-03 18:34:39 -07:00
Arif Hussain
3812b9b896 qcacld-3.0: Fix out of bound access in convert_qos_mapset_frame
In function convert_qos_mapset_frame, restrict dscp_exceptions array
access index to size of array

Change-Id: I31ed8edaee1a9b3715f66686a8a45d5f2ffd4532
CRs-Fixed: 1042968
2016-08-03 18:34:36 -07:00
Vishwajith Upendra
8678fd2cae Release 5.1.0.22T
Release 5.1.0.22T

Change-Id: I68afefead63233a63ceed4f442219277ba061782
CRs-Fixed: 688141
2016-08-03 18:34:33 -07:00
Deepak Dhamdhere
5fda0e46fb Revert "qcacld-3.0: Allow Re-assoc to same AP only in open security mode"
Change-Id I35d802f564e41ee0b30386ee7b74d2b44eb80ecf

Revert this change to allow re-association to same AP which is
required for HS certification.

Change-Id: I75114b5e36b4ce6def602b9054481845ac09c56a
CRs-Fixed: 936342
2016-08-03 18:34:31 -07:00
Vishwajith Upendra
2992c8a6bd Release 5.1.0.22S
Release 5.1.0.22S

Change-Id: I102cc524c81deafbb9737be5f63635dc1878327e
CRs-Fixed: 688141
2016-08-03 18:34:28 -07:00
Rajeev Kumar
30cb676a45 qcacld-3.0: Reduce unnecessary error log levels from suspend path
Reduce some of error log levels to info level in suspend path to avoid
logging them to console.

Change-Id: I61096bdbf757cd21f959fa716f35f65cd27cc9cc
CRs-Fixed: 1048395
2016-08-03 18:34:23 -07:00
Vishwajith Upendra
695547deaa Release 5.1.0.22R
Release 5.1.0.22R

Change-Id: I36091d1f7d04ce2f8785fae30949424a2adf00de
CRs-Fixed: 688141
2016-08-03 18:34:20 -07:00
Manjeet Singh
d295b1d8fd qcacld-3.0: Reduce hdd_hostapd_sap_event_cb frame size
In function hdd_hostapd_sap_event_cb frame size exceeds 1024 bytes
due to changes to some structures in msm-4.4 kernel, so compilation
for 32-bit systems might fail
Thus, reduce structure allocations on heap instead of stack in
hdd_hostapd_sap_event_cb.

Change-Id: Ie710afbd6c066a3d770c6c9aac0cfd675ea57f53
CRs-fixed: 1046882
2016-08-03 18:34:16 -07:00
Sandeep Puligilla
d180c5ece8 qcacld-3.0: Fix compiler warning when p2p_debug disabled
Unused variable compiler warning when WLAN_FEATURE_P2P_DEBUG disabled.

Create conditionally defined functions for debugging code.

Change-Id: I310bffef89b879c964a7c47a58f905503df709d2
CRs-Fixed: 1027738
2016-08-03 18:32:20 -07:00
Vishwajith Upendra
40512207de Release 5.1.0.22Q
Release 5.1.0.22Q

Change-Id: Iada9a919252568fa84397a90b7ccc8c2e047b50c
CRs-Fixed: 688141
2016-08-01 16:31:44 -07:00
Vishwajith Upendra
206a927bf8 Release 5.1.0.22P
Release 5.1.0.22P

Change-Id: Ibfaf4d623086015d682b6a1149871c84aa84f48f
CRs-Fixed: 688141
2016-08-01 13:33:25 -07:00
Sandeep Puligilla
0241f010fe qcacld-3.0: Handle eCSR_ROAM_CANCELLED at HDD
connection status is not updated at HDD because
eCSR_ROAM_CANCELLED is not handled at hdd callback.

Added support for eCSR_ROAM_CANCELLED so that HDD updates
connection status to upper layers.

Change-Id: I4c185bb3a370a0562de6431fde8952c68789de53
CRs-Fixed: 1043090
2016-08-01 13:33:24 -07:00
Vishwajith Upendra
3d2540f06b Release 5.1.0.22O
Release 5.1.0.22O

Change-Id: Iea513d766d38222c5d912e4fb133ee4498b45005
CRs-Fixed: 688141
2016-08-01 12:34:06 -07:00
Mohit Khanna
3aee13142b qcacld-3.0: Debug commit to track peer refcount
Add prints to track how peer->ref_cnt and peer_id_ref_cnt change

Change-Id: I518f58ec053e53ec2d82bcce85f872cd48029c99
CRs-Fixed: 1046458
2016-08-01 12:34:05 -07:00
Vishwajith Upendra
7f2d07eede Release 5.1.0.22N
Release 5.1.0.22N

Change-Id: I9abf19890db0fad51a9d2779620a8dc9afa4ef18
CRs-Fixed: 688141
2016-07-31 01:06:22 -07:00
Arif Hussain
174c3fcf46 qcacld-3.0: Avoid sending invalid frequency to ieee80211_frequency_to_channel
Avoid converting invalid frequency i.e zero frequency to channel using
ieee80211_frequency_to_channel() function.

Change-Id: I4a32591e313183348180a1d30a950b4b174a27cc
CRs-Fixed: 1047642
2016-07-31 01:06:22 -07:00
Arif Hussain
49a5ffc904 qcacld-3.0: Fix debug log in wma_send_peer_assoc
In function wma_send_peer_assoc, logging error when wmi_unified_peer_assoc_send
failed. But error type used in this log is wrong, use "status" instead of "ret".

Change-Id: I8dbdd68e16d665e5a7749e10c7006da9f96a6fd7
CRs-Fixed: 1042968
2016-07-31 01:06:21 -07:00
Arif Hussain
b8fef841a7 qcacld-3.0: Fix uninitialized variable use in wma_get_mcs_idx
In function wma_get_mcs_idx variable "match_rate"  is not initialized.
Initialize "match_rate" to avoid dereferencing uninitialized variable.

Change-Id: Id4c7e1913628007087c58149e4b7033320d4cc79
CRs-Fixed: 1042968
2016-07-31 01:06:20 -07:00
Arif Hussain
89697c49b0 qcacld-3.0: Fix possible uninitialized variable access in wma_add_bss_sta_mode
In function wma_add_bss_sta_mode, variable "peer" is not initialized.
Possibly we may pass this variable to wma_remove_peer function as is
and that can be dereferenced inside wma_remove_peer function.

So initialize peer with NULL to avoid dereferencing uninitialized variable.

Change-Id: Ibc484759b5e92052a3500137464e47287ccad939
CRs-Fixed: 1042968
2016-07-31 01:06:19 -07:00
Arif Hussain
a86aa4362b qcacld-3.0: Code clean-up in rrm_process_beacon_report_xmit
Remove extra variable "flag_bss_present" used to indicate if scan
result present based on pointer "bss_desc". Instead use "bss_desc"
itself.

Change-Id: I3fe5474d41219b44cbe38fa88c51013526c081c9
CRs-Fixed: 1042968
2016-07-31 01:06:17 -07:00
Arif Hussain
995fcaf8d8 qcacld-3.0: Fix null pointer dereference in __lim_process_sme_join_req
Add input validation code in function __lim_process_sme_join_req
to make sure "mac_ctx" and "msg_buf" are not null.

This input validation will prevent any possible null pointer dereference
issues.

Change-Id: Ib12ffbe1d6fdcd841fd10158b59d648d0b94aa47
CRs-Fixed: 1042968
2016-07-31 01:06:16 -07:00
Vishwajith Upendra
762ee24a43 Release 5.1.0.22M
Release 5.1.0.22M

Change-Id: I0d5a4c009902aeac82c6e4a5f516ad4067903b63
CRs-Fixed: 688141
2016-07-29 18:15:21 -07:00