Commit graph

577648 commits

Author SHA1 Message Date
Linux Build Service Account
c18b6acd00 Merge "binder: prevent kptr leak by using %pK format specifier" 2016-10-31 13:04:12 -07:00
Linux Build Service Account
3fb3076e3a Merge "ARM: dts: msm: correct pmicobalt_bob regulator name for msmcobalt" 2016-10-31 13:04:11 -07:00
Linux Build Service Account
0586a4352e Merge "usb: dwc3: Turn on memory core and periphery upon resume" 2016-10-31 13:04:10 -07:00
Linux Build Service Account
ffe1d3bc59 Merge "Bluetooth:Add ioctl to power control connectivity chip" 2016-10-31 13:04:09 -07:00
Linux Build Service Account
886a8990bb Merge "ARM: qcom: add board entries for msmtriton" 2016-10-31 13:04:08 -07:00
Linux Build Service Account
431c8dad69 Merge "msm: crypto: Fix integer over flow check in qce driver" 2016-10-31 13:04:08 -07:00
Linux Build Service Account
569214bfff Merge "leds: qpnp-wled: add support for configuring ILIM in pmicobalt" 2016-10-31 13:04:03 -07:00
Linux Build Service Account
680825f666 Merge "leds: qpnp-wled: Update AMOLED_VOUT programming" 2016-10-31 13:04:03 -07:00
Linux Build Service Account
c5d6943008 Merge "clk: msm: Add COMMON_CLK branch memory flags" 2016-10-31 13:04:02 -07:00
Linux Build Service Account
19bbe52518 Merge "ARM: dts: msm: fix WLED sink configuration for msmcobalt QRD platform" 2016-10-31 13:04:01 -07:00
Linux Build Service Account
3b18362c95 Merge "msm: kgsl: Clear the interrupt immediately" 2016-10-31 13:04:00 -07:00
Linux Build Service Account
5ea83a180a Merge "ARM: dts: msm: add support for etm and cpu-cti on msmfalcon" 2016-10-31 13:03:59 -07:00
Mohamad Ayyash
760d208500 Don't show empty tag stats for unprivileged uids
BUG: 27577101
BUG: 27532522
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
Git-repo: https://android.googlesource.com/kernel/common.git
Git-commit: d85e322ff3bc8d7aa872ad12df6427dd236e540a
Signed-off-by: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org>
Change-Id: Ia706e7184ab31c5e4e3bb2668a1ab7660ca3c6ce
2016-10-31 11:26:04 -07:00
Veera Sundaram Sankaran
d5da41a980 msm: mdss: add multiple partial update support
Currently, only one partial update ROI is supported, with
multiple partial update feature the driver would support
two partial update ROIs. The commit structs left_roi and
right_roi along with a special flag are used to pass the
two ROIs to the driver to minimize interface changes. MDP
will add the two ROIs which is width aligned and configures
the LMs accordingly and updates the panel info with the
dual roi configs, so DSI is aware of multiple PU config and
send DCS commands accordingly.

Change-Id: I8481c79a36931e3cda8d893a82938499f2645f2a
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
2016-10-31 11:00:14 -07:00
Siddhartha Agrawal
a7d84d65a8 msm: mdss: dsi: Add support dual roi partial update
Add support for sending multiple roi information via the 2A/2B
command to the panel. This mode is only supported on certain
panels. This change will be help in sending multiple partial
updates that will be merged as a single partial update.

Change-Id: Ib0fb977d86d6293595b62e9f0476615d68b919ac
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
2016-10-31 10:40:32 -07:00
Skylar Chang
9f74c08e6e msm: ipa3: wait for uC load before USB disconnect
In case RG10 workaround is in use, USB disconnect sequence
needs to be delayed until uC image is loaded in order to
allow to suspend and unsuspend pipes successfully.

Change-Id: I0ba41c9564c12b0b2c419222b54fa0e05be93b75
CRs-Fixed: 1083675
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-10-31 09:57:54 -07:00
Linux Build Service Account
015c20d6be Merge "icnss: Shutdown Adrastea before remapping MSA0" 2016-10-31 06:59:16 -07:00
Linux Build Service Account
c0961b67cc Merge "sched/hmp: Disable interrupts when resetting all task stats" 2016-10-31 06:59:15 -07:00
Linux Build Service Account
508ca01d9d Merge "msm: ADSPRPC: Do not pass offset for secure buffers" 2016-10-31 06:59:14 -07:00
Linux Build Service Account
fd077623a3 Merge "dt-bindings: power: reset: add document for reboot-mode driver" 2016-10-31 06:59:13 -07:00
Linux Build Service Account
8e010d3830 Merge "power: reset: add reboot mode driver" 2016-10-31 06:59:13 -07:00
Linux Build Service Account
cedaa7cef6 Merge "usb: xhci-plat: Enable wakeup for the root hubs" 2016-10-31 06:59:12 -07:00
Linux Build Service Account
aae17b0582 Merge "usb: pd: Observe PSHardResetTimer for source hard reset" 2016-10-31 06:59:11 -07:00
Linux Build Service Account
9178072f99 Merge "msm: ipa3: Support IPA-USB suspend sequence without remote wake-up" 2016-10-31 06:59:10 -07:00
Linux Build Service Account
deca532c29 Merge "arm64: Implement optimised IP checksum helpers" 2016-10-31 06:59:09 -07:00
Linux Build Service Account
bbd8499b43 Merge "ARM: dts: msm: Add initial support for msmcobalt v2 QRD VR1 board" 2016-10-30 19:50:58 -07:00
Maya Erez
05f7adbb9d wil6210: prevent XTAL off in device bootloader
Device bootloader enters deep sleep and turns off
its clock after 1 second of inactivity.
Waking up from this stage takes several milliseconds
and can cause PCIe timeout.
To prevent that, we need to add HALP vote in the reset
flow which will prevent the BL from turning off its
XTAL.

Change-Id: Id9273e546d3565935a7b1150c27993f02c5734e3
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-10-30 21:38:14 +02:00
Linux Build Service Account
860386bcf2 Merge "icnss: Enable PMM_TCXO_CLK before switch to cxo" 2016-10-30 00:07:04 -07:00
Phani Kumar Uppalapati
c791f94709 ASoC: wcd9335: Enable standalone ldo_h
Add support for standalone enablement of ldo_h
in wcd9335 hardware. This is required to enable
certain audio TX use-cases.

CRs-fixed: 1083755
Change-Id: Iea068907241b42846d95d8e62e59409cdd29ca42
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-10-28 17:57:40 -07:00
Vikram Mulukutla
b23921e6b6 Revert "init: do_mounts: Add a dummy definition for dm_table_put"
We no longer require dm_table_put. Upstream fixed the dm_mounts
driver to remove this symbol.

Change-Id: I4ba1043965d25ec444a833283392ac2394c845f3
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 17:38:23 -07:00
Badhri Jagan Sridharan
bfd48a7df4 ANDROID: dm: Rebase on top of 4.1
1. "dm: optimize use SRCU and RCU" removes the use of dm_table_put.
2. "dm: remove request-based logic from make_request_fn wrapper" necessitates
    calling dm_setup_md_queue or else the request_queue's make_request_fn
    pointer ends being unset.

[    7.711600] Internal error: Oops - bad mode: 0 [#1] PREEMPT SMP
[    7.717519] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W       4.1.15-02273-gb057d16-dirty #33
[    7.726559] Hardware name: HiKey Development Board (DT)
[    7.731779] task: ffffffc005f8acc0 ti: ffffffc005f8c000 task.ti: ffffffc005f8c000
[    7.739257] PC is at 0x0
[    7.741787] LR is at generic_make_request+0x8c/0x108
....
[    9.082931] Call trace:
[    9.085372] [<          (null)>]           (null)
[    9.090074] [<ffffffc0003f4ac0>] submit_bio+0x98/0x1e0
[    9.095212] [<ffffffc0001e2618>] _submit_bh+0x120/0x1f0
[    9.096165] cfg80211: Calling CRDA to update world regulatory domain
[    9.106781] [<ffffffc0001e5450>] __bread_gfp+0x94/0x114
[    9.112004] [<ffffffc00024a748>] ext4_fill_super+0x18c/0x2d64
[    9.117750] [<ffffffc0001b275c>] mount_bdev+0x194/0x1c0
[    9.122973] [<ffffffc0002450dc>] ext4_mount+0x14/0x1c
[    9.128021] [<ffffffc0001b29a0>] mount_fs+0x3c/0x194
[    9.132985] [<ffffffc0001d059c>] vfs_kern_mount+0x4c/0x134
[    9.138467] [<ffffffc0001d2168>] do_mount+0x204/0xbbc
[    9.143514] [<ffffffc0001d2ec4>] SyS_mount+0x94/0xe8
[    9.148479] [<ffffffc000c54074>] mount_block_root+0x120/0x24c
[    9.154222] [<ffffffc000c543e8>] mount_root+0x110/0x12c
[    9.159443] [<ffffffc000c54574>] prepare_namespace+0x170/0x1b8
[    9.165273] [<ffffffc000c53d98>] kernel_init_freeable+0x23c/0x260
[    9.171365] [<ffffffc0009b1748>] kernel_init+0x10/0x118
[    9.176589] Code: bad PC value
[    9.179807] ---[ end trace 75e1bc52ba364d13 ]---

Bug: 27175947

Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I952d86fd1475f0825f9be1386e3497b36127abd0
Git-commit: 5a77db7839
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 17:38:22 -07:00
Phani Kumar Uppalapati
13a491c72c ASoC: wcd934x: Add impedance detection controls
Add impedance detection mixer controls used to get
the impedance values of headphone left and right
channels.

CRs-Fixed: 1083198
Change-Id: Ibbca465192c58deba3618d70e36089119c7f3994
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-10-28 17:10:18 -07:00
Will Drewry
0fd87fad90 CHROMIUM: dm: boot time specification of dm=
This is a wrap-up of three patches pending upstream approval.
I'm bundling them because they are interdependent, and it'll be
easier to drop it on rebase later.

1. dm: allow a dm-fs-style device to be shared via dm-ioctl

Integrates feedback from Alisdair, Mike, and Kiyoshi.

Two main changes occur here:

- One function is added which allows for a programmatically created
mapped device to be inserted into the dm-ioctl hash table.  This binds
the device to a name and, optional, uuid which is needed by udev and
allows for userspace management of the mapped device.

- dm_table_complete() was extended to handle all of the final
functional changes required for the table to be operational once
called.

2. init: boot to device-mapper targets without an initr*

Add a dm= kernel parameter modeled after the md= parameter from
do_mounts_md.  It allows for device-mapper targets to be configured at
boot time for use early in the boot process (as the root device or
otherwise).  It also replaces /dev/XXX calls with major:minor opportunistically.

The format is dm="name uuid ro,table line 1,table line 2,...".  The
parser expects the comma to be safe to use as a newline substitute but,
otherwise, uses the normal separator of space.  Some attempt has been
made to make it forgiving of additional spaces (using skip_spaces()).

A mapped device created during boot will be assigned a minor of 0 and
may be access via /dev/dm-0.

An example dm-linear root with no uuid may look like:

root=/dev/dm-0  dm="lroot none ro, 0 4096 linear /dev/ubdb 0, 4096 4096 linear /dv/ubdc 0"

Once udev is started, /dev/dm-0 will become /dev/mapper/lroot.

Older upstream threads:
http://marc.info/?l=dm-devel&m=127429492521964&w=2
http://marc.info/?l=dm-devel&m=127429499422096&w=2
http://marc.info/?l=dm-devel&m=127429493922000&w=2

Latest upstream threads:
https://patchwork.kernel.org/patch/104859/
https://patchwork.kernel.org/patch/104860/
https://patchwork.kernel.org/patch/104861/

Bug: 27175947

Signed-off-by: Will Drewry <wad@chromium.org>

Review URL: http://codereview.chromium.org/2020011

Change-Id: I92bd53432a11241228d2e5ac89a3b20d19b05a31
Git-commit: 96b0434c25
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 17:08:21 -07:00
Vikram Mulukutla
9adf4b2b11 init: do_mounts: Add a dummy definition for dm_table_put
To temporarily allow compilation of an upcoming dm change,
add a dummy dm_table_put definition.

Change-Id: Iceca2eb6daa55f0acb936eafe1d59f65f7cfcd55
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 17:08:20 -07:00
Phani Kumar Uppalapati
0eb6738264 ASoC: wcd934x: Restore CPR defaults after SSR
Restore CPR bank registers to correct state
after subsystem restart for codec core to go
into CPR during rock bottom sleep mode.

CRs-Fixed: 1083795
Change-Id: Ifa59335033f8b9bda6fb0ca4b071387fdaa8f6f9
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-10-28 16:40:28 -07:00
Chinmay Sawarkar
14babb017f msm: vidc: Scale bus bw along with venus clocks
Scaling of Bus BW and Venus Clocks should go together.
Otherwise the benefits of reducing voltage corner will be
nullified, since VMEM vote remains high.

CRs-Fixed: 1083761
Change-Id: Ib38ecabb3c4bf40fcf5ad368fbbdbe4c44edbf3b
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
2016-10-28 15:03:33 -07:00
Sami Tolvanen
e93e2500d1 ANDROID: dm verity fec: initialize recursion level
Explicitly initialize recursion level to zero at the beginning of each
I/O operation.

Bug: 28943429
Change-Id: I00c612be2b8c22dd5afb65a739551df91cb324fc
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
(cherry picked from commit 32ffb3a22d7fd269b2961323478ece92c06a8334)
Git-commit: d053106b93
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:49:20 -07:00
Sami Tolvanen
ade8ed0d7d ANDROID: dm verity fec: fix RS block calculation
A call to do_div was changed in Linux 4.5 to div64_u64 in
verity_fec_decode, which broke RS block calculation due to
incompatible semantics. This change fixes the computation.

Bug: 21893453
Change-Id: Idb88b901e0209c2cccc9c0796689f780592d58f9
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
(cherry picked from commit 879aac93eebcc2862d71afa9eca3a0c0f51b3b01)
Git-commit: 8f9576b381
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:49:20 -07:00
Sami Tolvanen
c1d1dd3794 ANDROID: dm verity fec: add missing release from fec_ktype
Add a release function to allow destroying the dm-verity device.

Bug: 27928374
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Change-Id: Ic0f7c17e4889c5580d70b52d9a709a37165a5747
(cherry picked from commit 0039ccf47c8f99888f7b71b2a36a68a027fbe357)
Git-commit: c4d8e3e8d2
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:49:19 -07:00
Sami Tolvanen
c57ee8ea9e ANDROID: dm verity fec: limit error correction recursion
If verity tree itself is sufficiently corrupted in addition to data
blocks, it's possible for error correction to end up in a deep recursive
error correction loop that eventually causes a kernel panic as follows:

[   14.728962] [<ffffffc0008c1a14>] verity_fec_decode+0xa8/0x138
[   14.734691] [<ffffffc0008c3ee0>] verity_verify_level+0x11c/0x180
[   14.740681] [<ffffffc0008c482c>] verity_hash_for_block+0x88/0xe0
[   14.746671] [<ffffffc0008c1508>] fec_decode_rsb+0x318/0x75c
[   14.752226] [<ffffffc0008c1a14>] verity_fec_decode+0xa8/0x138
[   14.757956] [<ffffffc0008c3ee0>] verity_verify_level+0x11c/0x180
[   14.763944] [<ffffffc0008c482c>] verity_hash_for_block+0x88/0xe0

This change limits the recursion to a reasonable level during a single
I/O operation.

Bug: 28943429
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Change-Id: I0a7ebff331d259c59a5e03c81918cc1613c3a766
(cherry picked from commit f4b9e40597e73942d2286a73463c55f26f61bfa7)
Git-commit: 249d2baf9b
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:49:18 -07:00
Badhri Jagan Sridharan
590c510b92 ANDROID: dm: android-verity: Remove fec_header location constraint
This CL removes the mandate of the fec_header being located right
after the ECC data.

(Cherry-picked from https://android-review.googlesource.com/#/c/280401)

Bug: 28865197
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: Ie04c8cf2dd755f54d02dbdc4e734a13d6f6507b5
Git-commit: 1daecfe215
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:49:17 -07:00
Vikram Mulukutla
79e1ba0e5c Revert "dm-verity: Add a temporary dummy opaque struct declaration"
The declaration that caused a compilation failure is not fixed.
Remove the dummy opaque struct declaration.

Change-Id: Id27cf5231aebcdd14f4fb25dd44052f829e0427e
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:48:40 -07:00
Badhri Jagan Sridharan
25540dd97d ANDROID: dm-verity: adopt changes made to dm callbacks
v4.4 introduced changes to the callbacks used for
dm-linear and dm-verity-target targets. Move to those headers
in dm-android-verity.

Verified on hikey while having
BOARD_USES_RECOVERY_AS_BOOT := true
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true

BUG: 27339727
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: Ic64950c3b55f0a6eaa570bcedc2ace83bbf3005e
Git-commit: aa3cda16a5
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:47:04 -07:00
Badhri Jagan Sridharan
d152189385 ANDROID: dm: android-verity: Verify header before fetching table
Move header validation logic before reading the verity_table as
an invalid header implies the table is invalid as well.

(Cherry-picked from:
https://partner-android-review.git.corp.google.com/#/c/625203)

BUG: 29940612
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: Ib34d25c0854202f3e70df0a6d0ef1d96f0250c8e
Git-commit: ad2f6cf0be
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:47:03 -07:00
Badhri Jagan Sridharan
ec17b238f7 ANDROID: dm: allow adb disable-verity only in userdebug
adb disable-verity was allowed when the phone is in the
unlocked state. Since the driver is now aware of the build
variant, honor "adb disable-verity" only in userdebug
builds.

(Cherry-picked from
https://partner-android-review.git.corp.google.com/#/c/622117)

BUG: 29276559
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I7ce9f38d8c7a62361392c5a8ccebb288f8a3a2ea
Git-commit: f74284f6c2
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:47:03 -07:00
Badhri Jagan Sridharan
1e19beb791 ANDROID: dm: mount as linear target if eng build
eng builds dont have verity enabled i.e it does even
have verity metadata appended to the parition. Therefore
add rootdev as linear device and map the entire partition
if build variant is "eng".

(Cherry-picked based on
https://partner-android-review.git.corp.google.com/#/c/618690/)

BUG: 29276559
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I8f5c2289b842b820ca04f5773525e5449bb3f355
Git-commit: 58bae772a7
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:47:02 -07:00
Badhri Jagan Sridharan
6bcdcfa92b ANDROID: dm: use default verity public key
If the dm-android-verity target does not provide a default
key try using the default public key from the system keyring.
The defualt verity keyid is passed as a kernel command line
argument veritykeyid=.

The order of the dm-android-verity params have been reversed
to facilitate the change.

Old format example:
dm="system none ro,0 1 android-verity Android:#7e4333f9bba00adfe0ede979e28ed1920492b40f /dev/mmcblk0p43"

New formats supported:
dm="system none ro,0 1 android-verity /dev/mmcblk0p43 Android:#7e4333f9bba00adfe0ede979e28ed1920492b40f"

(or)

dm="system none ro,0 1 android-verity /dev/mmcblk0p43"
when veritykeyid= is set in the kernel command line.

BUG: 28384658
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I506c89b053d835ab579e703eef2bc1f8487250de
(cherry picked from commit c5c74d0327729f35b576564976885596c6d0e7fb)
Git-commit: 051d4706c6
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:47:01 -07:00
Badhri Jagan Sridharan
b1b24b49e2 ANDROID: dm: fix signature verification flag
The bug was that the signature verification was only
happening when verity was disabled. It should always
happen when verity is enabled.

Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I2d9354e240d36ea06fc68c2d18d8e87b823a4c2f
(cherry picked from commit 5364b5ca0b1a12a58283b51408e43fc36d4e4fe7)
Git-commit: 9c43aca47b
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:47:01 -07:00
Jeremy Compostella
cf53c29528 ANDROID: dm: use name_to_dev_t
This patch makes android_verity_ctr() parse its block device string
parameter with name_to_dev_t().  It allows the use of less hardware
related block device reference like PARTUUID for instance.

Change-Id: Idb84453e70cc11abd5ef3a0adfbb16f8b5feaf07
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Git-commit: a517817c17
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:47:00 -07:00
Badhri Jagan Sridharan
583c9f05ff ANDROID: dm: rename dm-linear methods for dm-android-verity
This keeps linear_target as static variable and just exposes
the linear target methods for android-verity

Cherry-picked: https://android-review.googlesource.com/#/c/212858

Change-Id: I4a377e417b00afd9ecccdb3e605fea31a7df112e
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
(cherry picked from commit a6d1b091f40b25d97849487e29ec097bc5f568dd)
Git-commit: 86fd82659f
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 14:46:59 -07:00