Messages in this thread | | | Date | Mon, 18 Mar 2024 18:38:20 +0530 | Subject | Re: [PATCH v12 7/9] firmware: qcom: scm: Fix __scm->dev assignement | From | Mukesh Ojha <> |
| |
On 3/3/2024 12:55 AM, Bjorn Andersson wrote: > On Tue, Feb 27, 2024 at 09:23:06PM +0530, Mukesh Ojha wrote: >> qcom_scm_is_available() gives wrong indication if __scm >> is initialized but __scm->dev is not. >> >> Fix this appropriately by making sure if __scm is >> initialized and then it is associated with its >> device. >> > > This seems like a bug fix, and should as such have a Fixes: tag and > probably Cc: stable@vger.kernel.org > >> Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com> >> --- >> drivers/firmware/qcom/qcom_scm.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c >> index 6c252cddd44e..6f14254c0c10 100644 >> --- a/drivers/firmware/qcom/qcom_scm.c >> +++ b/drivers/firmware/qcom/qcom_scm.c >> @@ -1859,6 +1859,7 @@ static int qcom_scm_probe(struct platform_device *pdev) >> if (!scm) >> return -ENOMEM; >> >> + scm->dev = &pdev->dev; >> ret = qcom_scm_find_dload_address(&pdev->dev, &scm->dload_mode_addr); >> if (ret < 0) >> return ret; >> @@ -1895,7 +1896,6 @@ static int qcom_scm_probe(struct platform_device *pdev) >> return ret; >> >> __scm = scm; >> - __scm->dev = &pdev->dev; > > Is it sufficient to just move the line up, or do we need a barrier of > some sort here?
Would be good to use, smp_mb() before the assignment __scm = scm along with moving below line __scm->dev = &pdev->dev
somewhere up.
-Mukesh
> > Regards, > Bjorn > >> >> init_completion(&__scm->waitq_comp); >> >> -- >> 2.43.0.254.ga26002b62827 >>
| |