In IPA driver uninitialized structure causing some
garbage values result into IPA data stall.
Added code changes to reset zero uninitialized structure.
Change-Id: I3b98041f8a96ea1d571eeaa60fc84457f6309d45
Acked-by: Ashok Vuyyuru <avuyyuru@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
This reverts commit de406d12ef760a7536a486e19016e8e38251f1bc.
In case of a background operations exception, there could be a deadlock:
-000|__switch_to()
-001|context_switch(inline)
-001|__schedule()
-002|schedule()
-003|schedule_timeout()
-004|do_wait_for_common(inline)
-004|__wait_for_common(inline)
-004|wait_for_common()
-005|wait_for_completion()
-006|destroy_work_on_stack(inline)
-006|flush_work()
-007|ufshcd_suspend()
-008|ufshcd_runtime_suspend()
-009|ufshcd_pltfrm_runtime_suspend()
-010|pm_generic_runtime_suspend()
-011|__rpm_callback(inline)
-011|rpm_callback()
-012|rpm_suspend()
-013|rpm_idle()
-014|__pm_runtime_idle()
-015|ufshcd_exception_event_handler()
-016|__read_once_size(inline)
-016|static_key_count(inline)
-016|static_key_false(inline)
-016|trace_workqueue_execute_end(inline)
-016|process_one_work()
-017|__read_once_size(inline)
-017|list_empty(inline)
-017|worker_thread()
-018|kthread()
-019|ret_from_fork(asm)
Exception handler tried to suspend UFS synchronously and suspend tries to
flush the currently running exception handler work which results into
deadlock. Revert this change until we find proper fix for this.
Change-Id: I2b8efdf583d08a276b987914c1037619eb8b25f7
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
sequence for both rddm and fw download are initialized to be 0.
They are incremented by 1 in bhi_probe() and upon real transfer
takes place.
Issue is in SSR case, sequence is incrementing in a way like 1,
3, 5 and etc as observed. The increment in bhi_probe() seems
unnecessay as there's no real transfer.
Fix is to initialize sequence to 1 and increment by 1 when real
transfer takes place in bhi_bhie_transfer().
Change-Id: I210840cd1f7fecc300ecb69da8a50fbb1d200562
Signed-off-by: Jia Ding <jiad@codeaurora.org>
CRs-Fixed: 2147433
V4l2 event subscription is not used by rotator, and
default implementation on 4.9 is causing failure during
file release. Disable v4l2 event subscription for rotator
to avoid invalid file release.
Change-Id: I486f2eba7112852a1c818efeeb86033f17139b33
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
Add memory-hotplug support for ARM64 platform.
This requires addition of
ARCH_ENABLE_MEMORY_HOTPLUG and ARCH_ENABLE_MEMORY_HOTREMOVE config options.
MEMORY_PROBE config option is added to support
/sys/devices/system/memory/probe functionality.
In addition architecture specific arch_add_memory and
arch_remove memory management functions are added.
Change-Id: I1fc4e8c93cfe1b9722b2fc8d811390e6cdfa7995
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Patch-mainline: linux-kernel @ 11 Apr 2017, 18:24
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
When getting string from userspace by simple_write_to_buffer
in ufs_qcom_dbg_testbus_cfg_write() function, null byte may
be written out of bounds of configuration buffer if return
value is same as size of buffer, causing off-by-one bug.
This change passes correct available size of configuration
buffer to simple_write_to_buffer function.
Change-Id: If6085e806aa34622a9a57b02f563869c51011d2f
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
This reverts commit 3375a292ea.
Need to change the solution and re-implement this feature.
Change-Id: Iabd38bd5c0c062590215c3f22e9383853efa889c
Signed-off-by: Andy Sun <bins@codeaurora.org>
When SSR happending during WLAN interface up, a deadlock will happen
in many places where it waits for FW response. When wlan module starts,
it will hold a rtnl_lock and wait for FW response. If SSR happened at
this point, it will send ssr notification to all the registed modules
one by one. It will send notification to IPA first, which will also
tried to get a hold of rtnl_lock. Since ssr notification is synchronized,
IPA won't be able to return because of failing to acquire the lock and
wlan driver won't release the rtnl_lock until it timeout and crash.
Only graceful to avoid this deadlock is to get early modem
crash notification from platform via a path which does not acquire
RTNL lock and this way once driver has received early crash
notification it can reject interface up.
Modem notification comes to icnss before IPA, hence send
early crash notification in modem SSR handler so that wlan driver
can release RTNL lock as soon as possible.
CRs-Fixed: 2141970
Change-Id: If77c54a2a39ce5cf0e129eb5c6599cd3fd722886
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Currently when pd is disabled, we do not allow hvdcp. To fix that
once hvdcp timeout happens and if pd is disabled, force a pd_active
= 0. This will cause us to run legacy workaround and rerun apsd if
the charger was detected as hvdcp.
Importantly, once legacy bit workaround is run, wait 400mS for
typeC to debounce. Currently we wait for 100mS only and that
causes a removal detection since the CC lines are not settled within
100mS.
Also it may take up to 650mS for the vbus to drop once CC lines are
floated during the workaround. The current wait is just 500mS,
bump it up to a 1 second.
Change-Id: I17a7341e96d6efccde6270bc69d79c3f215b83e4
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
According to the databook ep0 should be in setup
phase during reset. If host issues reset between
control transfers, ep0 will be in an invalid state.
Fix this my issuing stall and restart on ep0 if it
is not in setup phase.
CRs-Fixed: 2136658
Change-Id: I6dc20c2735a6ce772533ccb5b63ba5d1b01f89d7
Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
If it failed to get ba device, return NULL in msm_ba_open() to
avoid system crash on some specific board without adv7481 chip.
Change-Id: I5a3af414a683d852027b84b9ba0d64e2ee450e61
Signed-off-by: Jingtao Chen <jingtaoc@codeaurora.org>
Clear the deep color bits in the HDMI controller in case
the mode does not need OR support deep color.
Change-Id: I77a5cd74bc90c249d8902437a7b87a07259a2c35
Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
Restrict printing of kernel virtual addresses in SPS driver.
In debug code, %p is used to print virtual addresses of
kernel objects, which can be exploited by attackers. It is
replaced with %pK, which hides these values if kptr_restrict
is set (default on Android).
Change-Id: I57585fa655abc01b2e8d694c8f31b7617bbf4ec7
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>