Messages in this thread | | | Date | Fri, 17 May 2024 10:20:11 -0700 | Subject | Re: [PATCH 6/7] remoteproc: qcom_q6v5_pas: Add hwspinlock bust on stop | From | Chris Lew <> |
| |
On 5/17/2024 2:08 AM, Bryan O'Donoghue wrote: > On 17/05/2024 00:58, Chris Lew wrote: >> From: Richard Maina <quic_rmaina@quicinc.com> >> >> When remoteproc goes down unexpectedly this results in a state where any >> acquired hwspinlocks will remain locked possibly resulting in deadlock. >> In order to ensure all locks are freed we include a call to >> hwspin_lock_bust() during remoteproc shutdown. >> >> For qcom_q6v5_pas remoteprocs, each remoteproc has an assigned id that >> is used to take the hwspinlock. Remoteproc should use this id to try and >> bust the lock on remoteproc stop. >> >> This edge case only occurs with q6v5_pas watchdog crashes. The error >> fatal case has handling to clear the hwspinlock before the error fatal >> interrupt is triggered. >> >> Signed-off-by: Richard Maina <quic_rmaina@quicinc.com> >> Signed-off-by: Chris Lew <quic_clew@quicinc.com> >> --- > >> + if (adsp->hwlock) { >> + ret = hwspin_lock_bust(adsp->hwlock, adsp->hwlock_id); >> + if (ret) >> + dev_info(adsp->dev, "failed to bust hwspinlock\n"); > > qcom_hwspinlock_bust() already prints an error on failure, you're > printing a second error here. > > Choose at most one. >
Ack, will remove the error print here and leave the one in qcom_hwspinlock_bust()
> --- > bod
| |