Repository navigation
firmware: qcom_scm: Use TASK_IDLE state in wait_for_wq_completion() - #1167
Salendarsingh Gaud (sgaud-quic) merged 1 commit into
Conversation
|
Merge Check Failed: No CR Numbers Found Error: No Change Request numbers were found. Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests. |
038d71e to
15a6257
Compare
|
Merge Check Failed: No CR Numbers Found Error: No Change Request numbers were found. Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests. |
1 similar comment
|
Merge Check Failed: No CR Numbers Found Error: No Change Request numbers were found. Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests. |
PR #1167 — validate-patchPR: #1167
Final Summary
|
PR #1167 — checker-log-analyzerPR: #1167
Detailed report: Full report
|
5e33014 to
e0eb0b1
Compare
|
Merge Check Failed: No CR Numbers Found Error: No Change Request numbers were found. Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests. |
e0eb0b1 to
63bf03c
Compare
|
Merge Check Failed: No CR Numbers Found Error: No Change Request numbers were found. Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests. |
PR #1167 — validate-patchPR: #1167
Final Summary
|
PR #1167 — checker-log-analyzerPR: #1167
Detailed report: Full report
|
Test Matrix
|
|
Please add CR to PR. |
|
Mukesh Ojha (@mukeshojha-linux) please add CRs-Fixed: |
…letion() When the kernel issues an SMC (Secure Monitor Call) and the firmware requests the kernel to wait, the waiting thread enters an uninterruptible (D) state. In case of an extended wait request by the firmware, any device suspend request, cannot proceed because of the thread stuck in D state. This blocks the device suspend. Replace wait_for_completion() with wait_for_completion_state(..., TASK_IDLE), so that the waiting thread, show up in TASK_IDLE state, instead of TASK_UNINTERRUPTIBLE (D state). This allows the thread to block until completion, without blocking the device suspend. Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> Reviewed-by: Bartosz Golaszewski <brgl@kernel.org> Signed-off-by: Unnathi Chalicheemala <unnathi.chalicheemala@oss.qualcomm.com> Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Link: https://lore.kernel.org/r/20251217-multi_waitq_scm-v11-3-f21e50e792b8@oss.qualcomm.com Signed-off-by: Shiraz Hashim <shiraz.hashim@oss.qualcomm.com>
63bf03c to
aa7235a
Compare
|
Merge Check Failed: No CR Numbers Found Error: No Change Request numbers were found. Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests. |
|
Merge Check Failed: No CR Numbers Found Error: No Change Request numbers were found. Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests. |
Test Matrix
|
LAVA Failed Case Triage SummaryPR: #1167 Job 269818 | SoC qcs9100-rideLAVA job: https://lava-oss.qualcomm.com/scheduler/job/269818 Failed test cases in LAVA job 269818 (SoC: qcs9100-ride).
Job 269819 | SoC qcs615-rideLAVA job: https://lava-oss.qualcomm.com/scheduler/job/269819 Failed test cases in LAVA job 269819 (SoC: qcs615-ride).
Job 269820 | SoC hamoa-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/269820 Failed test cases in LAVA job 269820 (SoC: hamoa-evk).
Job 269821 | SoC qcs6490-rb3gen2LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269821 Failed test cases in LAVA job 269821 (SoC: qcs6490-rb3gen2).
Job 269822 | SoC qcs8300-rideLAVA job: https://lava-oss.qualcomm.com/scheduler/job/269822 Failed test cases in LAVA job 269822 (SoC: qcs8300-ride).
Job 269823 | SoC lemans-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/269823 Failed test cases in LAVA job 269823 (SoC: lemans-evk).
Job 269824 | SoC purwa-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/269824 Failed test cases in LAVA job 269824 (SoC: purwa-evk).
Job 269825 | SoC monaco-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/269825 Failed test cases in LAVA job 269825 (SoC: monaco-evk).
Job 269826 | SoC shikra-iqs-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/269826 Failed test cases in LAVA job 269826 (SoC: shikra-iqs-evk).
|
a985f87
into
qualcomm-linux:qcom-6.18.y
When the kernel issues an SMC (Secure Monitor Call) and the firmware
requests the kernel to wait, the waiting thread enters an
uninterruptible (D) state. In case of an extended wait request by the
firmware, any device suspend request, cannot proceed because of the
thread stuck in D state. This blocks the device suspend.
Replace wait_for_completion() with wait_for_completion_state(...,
TASK_IDLE), so that the waiting thread, show up in TASK_IDLE state,
instead of TASK_UNINTERRUPTIBLE (D state). This allows the thread to
block until completion, without blocking the device suspend.
CRs-Fixed: 4738102