commit 6e4cac23c5a648d50b107d1b53e9c4e1120c7943 upstream.
The FE setups of Intel SST bytcr_rt5640 and bytcr_rt5651 drivers carry
the ignore_suspend flag, and this prevents the suspend/resume working
properly while the stream is running, since SST core code has the
check of the running streams and returns -EBUSY. Drop these
superfluous flags for fixing the behavior.
Also, the bytcr_rt5640 driver lacks of nonatomic flag in some FE
definitions, which leads to the kernel Oops at suspend/resume like:
BUG: scheduling while atomic: systemd-sleep/3144/0x00000003
Call Trace:
dump_stack+0x5c/0x7a
__schedule_bug+0x55/0x70
__schedule+0x63c/0x8c0
schedule+0x3d/0x90
schedule_timeout+0x16b/0x320
? del_timer_sync+0x50/0x50
? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
? remove_wait_queue+0x60/0x60
? sst_prepare_and_post_msg+0x275/0x960 [snd_intel_sst_core]
? sst_pause_stream+0x9b/0x110 [snd_intel_sst_core]
....
This patch addresses these appropriately, too.
[tiwai: applied only to bytcr_rt5640 as bytcr_rt5651 isn't present in
4.4.x yet]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org> # v4.1+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 38bd49064a1ecb67baad33598e3d824448ab11ec upstream.
A signal can interrupt a SendReceive call which result in incoming
responses to the call being ignored. This is a problem for calls such as
open which results in the successful response being ignored. This
results in an open file resource on the server.
The patch looks into responses which were cancelled after being sent and
in case of successful open closes the open fids.
For this patch, the check is only done in SendReceive2()
RH-bz: 1403319
Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Acked-by: Sachin Prabhu <sprabhu@redhat.com>
Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 1e38da300e1e395a15048b0af1e5305bd91402f6 upstream.
The handling of the might_cancel queueing is not properly protected, so
parallel operations on the file descriptor can race with each other and
lead to list corruptions or use after free.
Protect the context for these operations with a seperate lock.
The wait queue lock cannot be reused for this because that would create a
lock inversion scenario vs. the cancel lock. Replacing might_cancel with an
atomic (atomic_t or atomic bit) does not help either because it still can
race vs. the actual list operation.
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: "linux-fsdevel@vger.kernel.org"
Cc: syzkaller <syzkaller@googlegroups.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-fsdevel@vger.kernel.org
Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1701311521430.3457@nanos
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
On UFS based targets, sometimes we are seeing unclocked
access issues where UFS register is being accessed while
clocks are turned off. This change is to add states in
hold and release contexts which will help to debug such
issues further.
Change-Id: I255f3516471ed74b9d93320f5442adffaf312102
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
CONFIG_USB_OTG_WAKELOCK is currently somewhat outdated
and as such is not applicable to all Android devices. Until
it is brought up to date, remove it from the base Android
kernel configuration.
Bug: 37750863
Change-Id: I5b1c0bef24476cc503a60003bf48ffb59eea8c94
Signed-off-by: Steve Muckle <smuckle@google.com>
This fix removes dependency between real time message mask
table and build time message mask table. Also this fix
synchronizes retrieval and modification of real time message
mask table.
CRs-Fixed: 2015227
Change-Id: Id0a0964337ec4645d7061fc35120dfa061a990ff
Signed-off-by: Gopikrishna Mogasati <gmogas@codeaurora.org>
INET6_DIAG_DESTROY and NETFILTER_TPROXY are not used anymore
so they should not be part of the base Android kernel configuration.
Bug: 37749708
Change-Id: Iab263a5723f1810e2133919b8db93cc2bb986624
Signed-off-by: Steve Muckle <smuckle@google.com>
Even with proper ESR pulse qualification threshold and ESR pulse
amplitude, ESR pulses are still seen occasionally on devices
that use battery with debug battery id. Disable ESR pulldown when
debug battery id is found. This helps saving power by stopping
ESR pulses.
Change-Id: I2b9588ec39a2268123d94c06517b0dbb43d66fc7
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Privilege Access Never (PAN) enforces the usage of
copy_to_user/copy_from_user and friends when kernel accesses data from
user space. If user space memory is accessed outside of these functions
a kernel panic occurs.
Change-Id: Ic32ad8ecb6d921293fca74664116098723afc436
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Add GPU clock plan for speed bin 2 of MSM8996Pro target.
This is initial change for supporting GPU speed bin 2.
CRs-Fixed: 1082439
Change-Id: Ifb21ae3baa3df001d944aa2c9db36dffa2a29504
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Check whether array index is within the bounds in
seemp_logk_get_bit_from_vector().
Change-Id: Idccf75736582b2390540f4d7b3351c018937186a
Signed-off-by: Yida Wang <yidaw@codeaurora.org>
Fix issues where we are referring to a null pointer
and uninitialized variable.
Change-Id: I9289a41fdef57a916781ad246ca06bfd2e031807
Signed-off-by: Wei Ding <weiding@codeaurora.org>
The mtp_ctrl_request function is responding to
every os descriptor sent by host,There by enumerating
the device with mtp composition. Once mtp is disabled,
need to clear the function instances on unbind.
Change-Id: I6679a1c1009df291a85ba8dcc34997d757c320b9
Signed-off-by: Sai krishna juturi <jsaikrishna@codeaurora.org>
For a BADD device, the audioformat structure was directly
being populated without initialising the format type
descriptor. This can lead to a crash later when the
format type and rates are being parsed but the NULL fmt
desc is dereferenced. Fix this by allocating a dummy copy
of fmt desc for BADD 3.0 devices and populating
necessary fields.
Change-Id: I80f33b0e400a9c522a800e989228da134100bb55
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
OnSemi buck regulator is used to provide the supply for
graphics rail. The programmable output voltage range is
from 0.6 V to 1.4 V in 6.25 mV steps.
Change-Id: I5f4ec11075b7f658ffa0af13dde5694b03c1495c
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Need consider both SINK and SOURCE max supported TMDS
clock. For the devices, if we set TMDS clock larger than
device caps, it could not display well. SINK max TMDS
clock could read from HDMI VSDB and HF-VSDB in EDID.
CRs-Fixed: 2035529
Change-Id: I1f31f2a05d0502367b877c4d324cbc131b2366d5
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
Camss throttle clock is always on which is consuming power.
To avoid this add support to dynamically enable and disable
clock.
Change-Id: I2eddb414f5c1a22ab42154d28a05e41e64cb5bc9
Signed-off-by: Shilpa Mamidi <shilpam@codeaurora.org>
Fixing issues where we are referring to a null pointer.
Change-Id: I6ae18f61a9dc65fbec5650baf9b1d1fb7ad59262
Signed-off-by: Samyukta Mogily <smogily@codeaurora.org>
Sync up msm-auto-perf_defconfig with msm-auto_defconfig
Change-Id: Ief53b4c287ca3efbe8f82779a8d4e9f524b06fd8
Signed-off-by: Wei Li <weili@codeaurora.org>
Do not call copy_from_user in ioctl handler if CONFIG_COMPAT
is defined.
In 64 bit kernel and 32 bit userspace, ioctl call invokes
compat_ioctl. First copy_from_user is done in compat_ioctl then
pointer is passed to unlocked_ioctl for actual processing. In
unlocked_ioctl again copy_from_user is called on kernel pointer.
Change-Id: I2334379f48e30b58757f0fe5e238e8df5753eea8
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
Upstream commit d08544127d9f ("arm64: suspend: Reconfigure PSTATE
after resume from idle") when cherry-picked on LTS linux-4.4.y
removed UAO reset code because UAO is not supported in linux-4.4.y.
But common/android-4.4 has UAO support, added in Change-Id:
I1a6a74a1f33b92d54368bd99387b55cf62930903 ("UPSTREAM: arm64: kernel:
Add support for User Access Override").
This patch pick up the UAO specific changes of upstream commit
dropped in LTS cherry-pick.
Fixes: LTS commit 71710cd35a ("arm64: suspend: Reconfigure PSTATE after resume from idle")
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Array index 'i' is used before limits check.
Fix this by doing limits check first.
Change-Id: I9a3d6f3165b3a0ba41dec3707d7c193a26ec6eb2
Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 98a830a98dab6d474190bec72c4a4ad0f7f9bf75
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Driver fails to load FW for sparrow D0 devices in some cases.
Fix this by returning correct value from wil_fw_verify_file_exists
when D0 FW file is not detected for any reason.
Change-Id: I11f4e63c70f0f269372e780b3659d981924c8963
Signed-off-by: Hamad Kadmany <qca_hkadmany@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 4d4f8132f72b78d1260ec9afa94c3b44deb12adf
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
The 11ad spec requires 11ad devices to be able to receive 8KB
packets over the air. Currently this is only possible by
loading the driver with mtu_max=7912 but this also forces
a smaller block ACK window size which reduces performance
for stations which transmit normal sized packets (<2KB).
Fix this problem as follows:
1. Add a module parameter rx_large_buf that when set,
will allocate 8KB RX buffers regardless of mtu_max
setting.
2. When receiving block ACK request agree to any window
size not above our maximum, regardless of the mtu_max setting.
This means if the other side transmits small packets (2KB)
it can still set up block ACK with a large window size,
and get better performance.
Change-Id: I8d18d9306d2546b54125b77df82c984878d0f84f
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 52a457020a89158f4eb886544165dc162ca9a35e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
For some optimizations coming on the userspace side, splitting larger
draw or gmem cmds into multiple cmdstream buffers, we need to support
much more than the previous small/arbitrary limit.
Change-Id: Ic0dedbad2f79156f4e6c9f70c8e27cd5fff9acdb
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: 6b597ce2f7c7a0f8116d753902db9aba6bc05cb0
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[jcrouse@codeaurora.org: fix some merge conflicts]
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Zero sized buffer objects tend to make various bits of the GEM
infrastructure complain:
WARNING: CPU: 1 PID: 2323 at drivers/gpu/drm/drm_mm.c:389 drm_mm_insert_node_generic+0x258/0x2f0
Zero sized buffers serve no appreciable value to the user so disallow
them at create time.
Change-Id: Ic0dedbada2a0250227d7ee8c45c35dc92a826c67
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Allow the user to allocate and use secured buffer objects. Secured
buffer objects are suitable for use as a write target while the GPU
is in secure mode. They work exactly like regular buffers except
Secure buffers cannot be mmap()ed.
Change-Id: Ic0dedbadd8135fd8472b38ddf61e2bc70983b12f
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Check to see if an imported buffer is an Ion secure buffer and mark
it as such so that it can be used for secure rendering.
Change-Id: Ic0dedbadb414dcbb11d70785d61481a1b7bd4e19
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>