Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d409d57f authored by Subhash Jadavani's avatar Subhash Jadavani Committed by Gerrit - the friendly Code Review server
Browse files

Revert "scsi: ufshcd: Flush exception event before suspend"



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: default avatarSubhash Jadavani <subhashj@codeaurora.org>
parent f697ab3e
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -8760,7 +8760,6 @@ static int ufshcd_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
			goto enable_gating;
	}

	flush_work(&hba->eeh_work);
	ret = ufshcd_link_state_transition(hba, req_link_state, 1);
	if (ret)
		goto set_dev_active;