Uninitalized kernel variable passes to userspace, it may have data
from stack. To avoid data leak from kernel to userspace initializes
struct kgsl_gpuobj_import_useraddr to zero.
CRs-Fixed: 2096006
Change-Id: Ib79b030cd5e3edd7279632af20dc3fac95eb73d4
Signed-off-by: Archana Obannagari <aobann@codeaurora.org>
Add the QSEECOM ION heap node, to allow QSEECOM driver and QSEECOM
API library to allocate ION memory from QSEECOM heap.
Change-Id: Ia0b346bbac9378b79d1b7683ee1cc0ade533b4fa
Signed-off-by: Amit Blay <ablay@codeaurora.org>
FW capabilities are currently retrieved only during module
initialization, but userspace can replace the firmware while
interface is down, so refresh the FW capabilities when
interface is up (after FW is loaded) to ensure driver
functionality matches the loaded FW.
Change-Id: I880706bee0700b88e6637efd42de2eef4ea0d8b6
Signed-off-by: Lior David <liord@codeaurora.org>
User space can remove the P2P management interface while it is active
(for example, while listen/search is active) and this can cause
a crash. Ensure the P2P device is fully stopped before removing.
Change-Id: Ibc94f12bc63f2ba31ede24afffd9c5acbf95467a
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: 69fecf599f48e258984b2ffdf0a4c65a35a31287
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Connect can take longer than current timeout in some scenarios,
for example with long-range antenna array. Increase the timeout
to support these scenarios.
Change-Id: Id59cf4f11f8381ab8eab748171ef2b7949dde887
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: d83ad4c4fd78b22935711f865048bab78b43fc86
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
When FW starts running it can get D0 to D3 interrupt that is a leftover
from previous system suspend while FW was not running.
As this interrupt is not relevant anymore, clear it part of device reset
procedure.
Change-Id: I213a18fd59a500914ab22f75a72393786188a08e
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: 7086d861753bc0aaa8b6445f657d8e39953e4fcd
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Re-arrange the code to have dedicated function for device configuration
which takes place before FW starts running.
Change-Id: Ia0f2b33f85ba9547bee9415e34143e5b09e28447
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: 1490846d256af947a4743f04ba8c97dc3bc37073
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Align to latest version of the auto generated wmi file
describing the interface with FW.
Change-Id: I5cd2130c17457544d055aaff15f5747a3d241e23
Signed-off-by: Lazar Alexei <qca_ailizaro@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 761f8e4d463e1cbf6da0d228bc74cecc800d4de5
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Since debugfs is a kernel configuration option, enable the driver to
compile without debugfs.
Change-Id: Id1b162172e2662a59af5b031a71ccd22250e4b6d
Signed-off-by: Gidon Studinski <qca_gidons@qca.qualcomm.com>
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: 5f591dac9f20f76439df2e18570765d384a94070
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Sometimes there is a firmware crash but the hardware
is not fully stopped and continue to send TX/RX interrupts.
This can cause an overload of messages which can bring the
host down. Add ratelimit to these error messages to fix this.
Change-Id: If0f8bfbec1df1c5d98c87d64191ef14bf6579ae1
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: 40cbd88be702a2455b6e047dc13f5d51ed542063
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Add functions to save and restore the value of some of the
performance counters during a power cycle.
Change-Id: Ic0dedbad4037d6a2262792b752dc5d33a2d0eb36
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Userspace thermal daemon initiate KTM hotplug monitor related
initialization. Thermal core control can be disabled/enabled from
userspace via KTM sysfs for cpu related initialization after boot.
There is a possible race condition between KTM hotplug initialization
from thermal daemon and KTM core control re-enablement from userpsace
shell. When these both events are triggered at the same time,
thermal core control enablement tries to set emergency hotplug
threshold prior to per cpu hotplug related initialization like sensor
id, trip and threshold value etc. This leads to wrong sensor
threshold settings and eventually thermal core sensor threshold list
will be broken.
To avoid this wrong threshold settings during thermal core control
enablement, check KTM hotplug related initialization is done prior
to threshold setting for each core.
Change-Id: I916527d187146d5e292dd57897aa70b21cf87fbc
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
QMI handle was not destroyed during unload and server exit
and resulting in qmi handle leak.
Fix this problem by destroying the QMI handle during
driver unload and server exit.
Change-Id: I7557de7c2ff2cb7d82d6e8a3480e8d5f4be6a5f4
Signed-off-by: Govind Singh <govinds@codeaurora.org>
Add NULL pointer check for vfe_base of VFE0.
CRs-Fixed: 1032715
Change-Id: I540d9ff831fc9447ecf145f75ea84da3668c4f6f
Signed-off-by: Haibin Liu <haibinl@codeaurora.org>
Signed-off-by: VijayaKumar T M <vtmuni@codeaurora.org>
A3xx device gets the ring buffer read pointer directly
from the GPU registers. So don’t allocate scratch memory
which can’t be used for A3xx GPU devices.
Change-Id: I95016dfc169b9fee74e978f5560592740f34515e
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Stall on page fault feature is supported on A5XX and later GPUs.
Enabling this feature on unsupported GPUs causes GPU faults.
So don't insert GPU stall related commands in ringbuffer if
not supported. But allow user to capture the GPU snapshot on
GPU page fault.
Change-Id: Ied26a5b4f44c1877b289a0ff5c0a6d47901e453d
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Commit 761ed4a94582 ("tty: serial_core: convert uart_close to use
tty_port_close") created a case where a port used for a console does not
get shutdown on tty closing. Then a call to uart_tx_stopped() segfaults
because the tty is NULL. This could be fixed to restore old behavior,
but we also want to allow tty_ports to work without a tty attached. So
this change to allow a NULL tty_struct is needed either way.
Fixes: 761ed4a94582
("tty: serial_core: convert uart_close to use tty_port_close")
Reported-by: kernel test robot <xiaolong.ye@intel.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Change-Id: Ifbeeacc89d396b857332ce94cc2d77bdd6e12bb7
Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
Git-commit: a727b025f43d7952c0697562f5cecda9f42758aa
Signed-off-by: Lei wang <leiwan@codeaurora.org>
A faulting submit is retired on the recovery worker and not
the retire worker. The usage count for the device must be
decremented for the faulting submit or the device will never
go into suspend following a fault despite being inactive for
the inactivity period.
Change-Id: Ieda698eb00008f5bcc7287f76b9261704e51e28b
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
Ringbuffer pointers were getting reset only when resuming after
recovery. However, we need to reset them even after resuming
from SLUMBER or we will end up sending stale commands to the GPU
with bad results. Make ringbuffer reset part of the GPU init
sequence.
Change-Id: I93fc2f2e293245e584184315f8eb8a4ec73d2455
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
msm_gpu's get_timestamp() op (called by the MSM_GET_PARAM ioctl) can
result in register accesses. We need our power domain and clocks to
be active for that. Make sure they are enabled here.
Change-Id: I1b8e59e0246ed7d9b8a0b6ae660ebfbb15b08782
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
We need to use pm-runtime properly when IOMMU is using device_link() to
control it's own clocks.
Change-Id: I7c5668e6a0fcfc2d4664355e49c49d4dcb26323e
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: eeb754746b140c5f55e6b25706a9142aa549b348
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[ssusheel@codeaurora.org: fix some merge conflicts]
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
Add a node for a GPIO-based FAN cooling device for msm8996
CV2X boards. This GPIO has a single speed and can be controlled
from user space.
Change-Id: Iee427407f3c4032e1394c61dd1f225e24a091a99
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
Enable the GPIO FAN driver to enable control of GPIO based
fans for cooling on msm8996-auto devices.
Change-Id: I5494fae1c7ab75362bc6c71c4e731f0581b01995
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
Reduce the frequency of kgsl logging when kgsl driver failed to get
memory mapping for requested memory.
Change-Id: If1a8832a9aa0396e3c990916deec7949697be12d
Signed-off-by: Venkateswara Rao Tadikonda <vtadik@codeaurora.org>
Sparse bind object are unbinded with bind id. This
can be exploited by any malicious application calling
unbind with same bind id again and again.
This can lead to a race condition between two threads
where one free the bind object and second thread uses
same object leading to bad dereference.
Change-Id: I542a008fc647489560667fb5016453a0c3448f7a
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
The stacktraces always begin as follows:
[<c00117b4>] save_stack_trace_tsk+0x0/0x98
[<c0011870>] save_stack_trace+0x24/0x28
...
This is because the stack trace code includes the stack frames for itself.
This is incorrect behaviour, and also leads to "skip" doing the wrong
thing (which is the number of stack frames to avoid recording.)
Perversely, it does the right thing when passed a non-current thread. Fix
this by ensuring that we have a known constant number of frames above the
main stack trace function, and always skip these.
This was fixed for arch arm by 3683f44c42 ("ARM: stacktrace: avoid
listing stacktrace functions in stacktrace")
Change-Id: I1a65ee011f022227204b406bb0288828a7beb0b8
Link: http://lkml.kernel.org/r/1504078343-28754-1-git-send-email-guptap@codeaurora.org
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Git-commit: 457b9ab50babff7100fe7902d195069561bc1db7
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
[guptap@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
The page_owner stacktrace always begin as follows:
[<ffffff987bfd48f4>] save_stack+0x40/0xc8
[<ffffff987bfd4da8>] __set_page_owner+0x3c/0x6c
These two entries do not provide any useful information and limits the
available stacktrace depth. The page_owner stacktrace was skipping caller
function from stack entries but this was missed with commit f2ca0b557107
("mm/page_owner: use stackdepot to store stacktrace")
Example page_owner entry after the patch:
Page allocated via order 0, mask 0x8(ffffff80085fb714)
PFN 654411 type Movable Block 639 type CMA Flags 0x0(ffffffbe5c7f12c0)
[<ffffff9b64989c14>] post_alloc_hook+0x70/0x80
...
[<ffffff9b651216e8>] msm_comm_try_state+0x5f8/0x14f4
[<ffffff9b6512486c>] msm_vidc_open+0x5e4/0x7d0
[<ffffff9b65113674>] msm_v4l2_open+0xa8/0x224
Change-Id: Ia34fc127d691c2858d991bb631aad9ebc703bcee
Link: http://lkml.kernel.org/r/1504078343-28754-2-git-send-email-guptap@codeaurora.org
Fixes: f2ca0b557107 ("mm/page_owner: use stackdepot to store stacktrace")
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Git-commit: 665bb76dd71bc061c5f730226dc1881d151983c8
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
SDHCI_QUIRK2_USE_PIO_FOR_EMMC_TUNING quirk is defined with a bit position
of 23 (1 << 23). Since this bit position is already defined for some other
quirk, update its bit position to next available one.
Change-Id: I878b3c0b3f4cb32ecaf27fc77ccdfb7d4215a39c
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Provide support to cache CNE event for debugging purpose.
Change-Id: I00d101d3b9a627d7aba3e4524ff301797ea6085e
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Change the OTG regulator ops to static for smb1351 and smb135x
charger drivers.
Change-Id: Ide0c6461275f3ba74e0420e1d1a36c1e1f2bd18d
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>