There is a dead loop in kgsl_devfreq_target(), while governor request
to change GPU frequency. In governor 'userspace' mode, If the requested
frequency (set_freq) is more than the configured frequency and max_freq
is also set to more than the configured frequency, then there is a dead
loop while changing target frequency.
Dead loop occurs due to comparing signed integer with unsigned integer.
So, type casting unsigned integer to signed integer will terminate the
loop when loop variable is less than zero.
Change-Id: Ic82b7477d50d1abcd348b011f64246066887922c
Signed-off-by: Venkateswara Rao Tadikonda <vtadik@codeaurora.org>
Currently, there is a possibility of out-of-bound access while
processing data received from user space. The patch adds proper
checks for valid address.
CRs-Fixed: 2048536
Change-Id: I1e0fc7a9d69e69f3326429d5d9540dd3bb1a59b0
Signed-off-by: Hardik Arya <harya@codeaurora.org>
Upon encountering any error, few important registers are being captured
in trace logs in sdhci_dumpregs(). But without capturing exact error,
it would be tough to determine from which point in driver this dumpregs
has called. So capture the error state as well in Trace logs before
calling sdhci_dumpregs(). Also capture power irq related registers in
Trace logs upon any power irq related errors.
Change-Id: Ide172cdfb88a988cd4220bed03d05b8c6c4f15cb
Signed-off-by: Siba Prasad <sibap@codeaurora.org>
Add 1024x600p resolution support in adv7533 DSI-to-HDMI
bridge chip on msm8996 automotive target. This change creates
a new timing parameter for DSI panels along with parameters
like vtotal, htotal, panel-width, panel-height etc.
Change-Id: I679352bf2422a59421fbe1943e7b0b4d5deaefe3
Signed-off-by: Rahul Sharma <sharah@codeaurora.org>
This change enables and disables below list of configs to
address the VTS KernelConfig test case failures.
Enable configs:
CONFIG_USB_CONFIGFS_F_AUDIO_SRC
CONFIG_QUOTA
CONFIG_QUOTA_NETLINK_INTERFACE
CONFIG_QFMT_V2
CONFIG_SECURITY_PERF_EVENTS_RESTRICT
CONFIG_CGROUP_DEBUG
Disable configs in perf defconfig:
CONFIG_USELIB
CONFIG_INET_LRO
Change-Id: Icecc6a637b778e6594c0f8c2f26118ae1b0a231c
Signed-off-by: Mohammed Khajapasha <mkhaja@codeaurora.org>
KGSL power limit pointer can be error or NULL. Add a NULL
check for limit pointer to avoid NULL pointer dereference.
Change-Id: I4aacaddd1cd9b34f1befc21807eb7ab577f0a7f1
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Memory allocations with GFP_KERNEL flag in clock scaling path might
trigger IO transfer. This can cause deadlock since the claim_host
lock which is needed by mmc driver to perform IO is held by clock
scaling context.
Below is the exact call sequence:
mmc_devfreq_set_target() -> mmc_clk_update_freq () ->
mmc_change_bus_speed() -> mmc_select_hs400() -> mmc_select_bus_width()
-> mmc_get_ext_csd() -> kzalloc(512, GFP_KERNEL) -> try_to_free_pages()
-> evict() -> ext4_evict_inode().
To avoid this scenario, use PF_MEMALLOC flag for clock scaling context
so that it can have access to the more reserves of memory. And since
devfreq workitem would run in different kworker threads, restore to
original flags once done with setting clock frequency.
Change-Id: If52f83f6ecae982d8ed709b08fd84545c7ecbc43
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Ratelimit the error log in order to avoid flooding the logs in
case of function mmc_blk_cmd_recovery() gets called repeatedly.
Change-Id: Ic72087382fca2e188f1bbd8195a805cd751ed22e
Signed-off-by: Siba Prasad <sibap@codeaurora.org>
Check whether ispif->base is null before dumping.
CRs-Fixed: 2046207
Change-Id: Ib026632252b43bb4d607ba00188c4c4143c1725e
Signed-off-by: Haibin Liu <haibinl@codeaurora.org>
If lpm_cpuidle_predict returns the prediction value less than the
minimum residency of shallowest mode, then this case was considered
as not predicted. This allows core to enter into deeper states.
Instead in this case, use the minimum residency of
the shallowest state as the predicted sleep length.
Change-Id: Ib5bd1779e305262aef018f82f57d30ec22162b5b
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
Signed-off-by: Naresh Malladi <namall@codeaurora.org>
When userspace uses ioctl(), kernel should get the data from
userpsace through copy_from_user() or get_user() and send it
back to userpsace though copy_to_user() or put_user().
In this case, kernel is not using put_user or copy_to_user
which is leading to a crash during I2C read when it tries to
access memory.
CRs-Fixed: 2058381
Change-Id: Ie5596b62cb589ee048e54f37c7e6beda0d62cad5
Signed-off-by: Tanvi Aggarwal <tanvia@codeaurora.org>
Connect a test producer pipe for MHI unit tests as the
default LAN_PROD pipe is not connected on MHI config.
Change-Id: I2fc1ff8758d222a738d570b5babc22ced2b43219
CRs-Fixed: 2066878
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>