Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2.3.2.r1.4] Backport stability fixes from 7.1.r1 branch (v2) #2153

Conversation

vknecht
Copy link

@vknecht vknecht commented Jan 3, 2020

Splitted from #2149
Also kept conflict mentions for easier verification.

Pooja Kumari and others added 21 commits January 3, 2020 11:43
Add check to fix NULL pointer refernce.

Change-Id: Id50022a0b2c3e4ad1b4f7f5307070f41ae133b16
Signed-off-by: Pooja Kumari <kumarip@codeaurora.org>

 Conflicts:
	drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c
In the PHY shutdown case, we are trying to regulator_is_enabled read
the maybe-already-freed vbus regulator and anyway we're doing it always
right after a regulator_disable call to it, which makes it always false
and obviously not working as intended.

Fix this usecase by just moving the real addition in the right place
(just a few lines before) and stop kernel panic when trying to either
shut down or reboot the device.

 Conflicts:
	drivers/usb/pd/policy_engine.c
It's important to initialize this variable, in order to avoid a
random crash when the we call this function in rollup mode.
The bmsk variable in ipahal_get_aggr_force_close_valmask was
being used uninitialized when the IPA_HW is not in the list.

That's bad, as we'd be getting a random value and crashing
the hardware.
When we fail probing some clock we go deinit whatever was
previously initialized and, to do this, we are checking for
value in the clock related variable.
Problem is, devm_clk_get returns a ERR_PTR in case of failure
and we definitely don't want to unregister something that
did never register, or we will end up with a not-so-nice kernel
panic.

To address this, set the pointers to NULL whenever a devm_clk_get
call fails for any clock after saving the error for later.
In case of iova_alloc bitmap search wrap, we erroneously update the
previous_next_start as 0, this causes stale tlb logic not detect wrap and
stale TLB entry issues. Fix the same.

Change-Id: Ic8c96e98abc91520f222a7dbe5024814dabd5042
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
Add checks to make sure thermal power level restrictions are
enforced and power level is always within thermal min and max
limit. Currently, thermal limits are breached in cases where
GPU min_pwrlevel and max_pwrlevel sysfs entries are updated by
performance daemon to maintain performance and thermal mitigation
kicks in at same time.

Change-Id: Id3f0c2d878588633398d20d43223b26ec292b98e
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
If back to back SSR is triggered there is a possibility
of race condition where we try to send QMI sync indication
with a invalid handle. Make a change to validate the handle
before sending the indication.

Change-Id: If912b6676b562bd4a23c68512e9c80e6c0ac7a49
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>

 Conflicts:
	drivers/platform/msm/ipa/ipa_v3/ipa_qmi_service.c
Client ep[i] entries are memset to 0 as a part of tearing down
uc offload pipes which results in a race condition, if there are already
some packets which have been sent to IPA, when the client notify callback
is called.

Change-Id: I998e5d1c09d82e72b80ff00d1dd96398a92adc75
Acked-by : Abhishek Choubey <abchoube@qti.qualcomm.com>
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>

 Conflicts:
	drivers/platform/msm/ipa/ipa_v3/ipa_dp.c
	drivers/platform/msm/ipa/ipa_v3/ipa_i.h
When USB is disconnected USB driver deregisters callback
with IPA driver. If there are exception packets coming to USB
driver at the same time there is a possiblity of race condition
where callback is de-registered and IPA driver tries to access it.
Make changes to restrict the callback access when disconnect is
in progress.

Change-Id: I85d2876847bfd0b23f19b2b81e1aab68729b2e31
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
Ensure that adreno irqs are done in gmu suspend to avoid
race with gmu_suspend() and adreno_irq_handler(). This will
fix un-clocked register access in the adreno_irq_handler()
if it races with gmu suspend path.

Change-Id: Idd16defdd2a86b511c7dd13fc0c8704b29c7ee18
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: Sravankumar bijili <csbijil@codeaurora.org>

 Conflicts:
	drivers/gpu/msm/kgsl_pwrctrl.c
There could be conditions where the RCG is configured and enabled for a
non-cxo frequency previous to HLOS. Check the condition during recalc
and update the current frequency with the actual frequency.

Change-Id: I9539f2bfe16378085ccdb06c32a4ea2c3bdfb456
Signed-off-by: Taniya Das <tdas@codeaurora.org>

 Conflicts:
	drivers/clk/qcom/clk-rcg2.c
During IPA shutdown the allocation for memory request fails.
Add changes in IPA to not sleep while memory allocation.

Change-Id: I0adb09e32970ff1d67c3249bb9d3c9dbdc970a8a
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>

 Conflicts:
	drivers/platform/msm/ipa/ipa_v3/ipa_hdr.c
There is no difference in terms of supporting USB function suspend and
resume functionality between USB super speed and super speed plus. Hence
replace == check against SUPER_SPEED to >= to enable all functionality
supported with super speed to super speed plus.

Change-Id: I6226943b60e79bbb1504b2739965a5a2ff5f2a35
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Some hosts enable function remote-wakeup immediately after
enumeration. But they don't perform function_suspend before U3
and also don't disable function remote-wakeup even if entering
deep sleep state and don't intend to wakeup from USB. One of the
reason could be that they rely on device to initiate remote-wakeup
only if it function suspended. Hence, update the check to initiate
function remote-wakeup only if device is function suspended.

Change-Id: I3d6bb817d9174f94051b1e1ef74dc9c941c66f4c
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
On closing the driver or unloading the driver,
it should be detached from the corresponding
iommu mappings to avoid smmu attach errors on
module re-loading.

Change-Id: Ia05233c748527eea18ed2d95d87bc4953ef9c0a1
Signed-off-by: Anmolpreet Kaur <anmolpre@codeaurora.org>
Currently before staticPD on QDSP is up, remote mappings are
being removed. Instead, remove the mappings after staticPD is up.

Change-Id: I10a37b4c840dbd830f7b8897aabbf8681329b74c
Acked-by: Vishnu Karthik D <vikarthi@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
Signed-off-by: Mohammed Nayeem Ur Rahman <mohara@codeaurora.org>
This change fixes the buffer overflow - array index out of bounds
errors by allocating extra space for buf inorder to NULL terminate it.

Change-Id: I9b3f79d049a7a5f617ac74c5d41c416103a6503a
Signed-off-by: Tharun Raj Soma <tsoma@codeaurora.org>
This change adds a check for the length of the buffer
before copying it to avoid a buffer overflow.

Change-Id: I146895660be4060d9896706636257a57c6aef94f
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
During device reboot when IPA is going for shutdown,
the allocation for memory request fails.  Add change in
IPA to not sleep while memory allocation.

Change-Id: I0bdbf0f622770566ad1135c76f6edc2790285420
Signed-off-by: Pooja Kumari <kumarip@codeaurora.org>
If the backlight driver/hw are not ready *yet*, then it's useful
to defer the panel probe, in order to get a known state when the
init ends.

 Conflicts:
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
@jerpelea jerpelea merged commit 861f7a1 into sonyxperiadev:aosp/LE.UM.2.3.2.r1.4 Jan 7, 2020
@vknecht vknecht deleted the aosp/LE.UM.2.3.2.r1.4-stability-fixes branch January 7, 2020 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants