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 #2149
[2.3.2.r1.4] Backport stability fixes #2149
Conversation
Add check to fix NULL pointer refernce. Change-Id: Id50022a0b2c3e4ad1b4f7f5307070f41ae133b16 Signed-off-by: Pooja Kumari <kumarip@codeaurora.org>
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.
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>
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>
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>
When "deep" suspend is enabled, all CPUs except the primary CPU are frozen via CPU hotplug one by one. After all secondary CPUs are unplugged the wakeup pending condition is evaluated and if pending the suspend operation is aborted and the secondary CPUs are brought up again. CPU hotplug is a slow operation, so it makes sense to check for wakeup pending in the freezer loop before bringing down the next CPU. This improves the system suspend abort latency significantly. [ tglx: Massaged changelog and improved printk message ] Change-Id: I2f9b6afa5f05162964342743ba6ef73044a64586 Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> Cc: Len Brown <len.brown@intel.com> Cc: Pavel Machek <pavel@ucw.cz> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: iri Kosina <jkosina@suse.cz> Cc: Mukesh Ojha <mojha@codeaurora.org> Cc: linux-pm@vger.kernel.org Link: https://lkml.kernel.org/r/1559536263-16472-1-git-send-email-pkondeti@codeaurora.org Git-commit: a66d955 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git Signed-off-by: Pavankumar Kondeti <pkondeti@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>
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>
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>
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>
The clk-rcg2 driver's enable_safe_config flag assumes that the XO is zero in the source map... otherwise, we get the children mapped to a different source...
The clk-rcg2 driver's enable_safe_config flag assumes that the XO is zero in the source map... otherwise, we get the children mapped to a different source...
The clk-rcg2 driver's enable_safe_config flag assumes that the XO is zero in the source map... otherwise, we get the children mapped to a different source...
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.
I've read something in the thread... Anyway, the gcc-msm8976 commit and the cpu/hotplug one are the ones that are alleviating and solving some of the issues that your users were experiencing. The other commits are sort of useless on this kernel, so please create two PRs: one with the clk commits and the hotplug one and another pr with the rest, so that the first one can be timely merged in. |
Thank you, second PR will take more time... |
Le Mercredi 8 janvier 2020, stefanhh0 a écrit :
@vknecht This PR can be closed then? Got a compile error that has been fixed in #2155.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
#2149 (comment)
Indeed it can be closed.
Thanks !
|
please test it and report ! |
Just flashed it and testing it on yoshino/lilac. I will report back tomorrow. |
Test-Result on yoshino/lilac: |
This is a collection of cherry-picked fixes from k4.14 branch.
Mainly tested on Loire, doesn't seem to introduce unwanted effects and reduce random reboot occurences (see XDA thread).