[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZyjViCVtPwe-tmMq@hovoldconsulting.com>
Date: Mon, 4 Nov 2024 15:09:12 +0100
From: Johan Hovold <johan@...nel.org>
To: Sibi Sankar <quic_sibis@...cinc.com>
Cc: sudeep.holla@....com, cristian.marussi@....com, ulf.hansson@...aro.org,
jassisinghbrar@...il.com, dmitry.baryshkov@...aro.org,
linux-kernel@...r.kernel.org, arm-scmi@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-arm-msm@...r.kernel.org,
konradybcio@...nel.org, linux-pm@...r.kernel.org,
tstrudel@...gle.com, rafael@...nel.org,
Johan Hovold <johan+linaro@...nel.org>
Subject: Re: [PATCH V5 3/6] firmware: arm_scmi: Report duplicate opps as
firmware bugs
On Mon, Nov 04, 2024 at 07:20:01PM +0530, Sibi Sankar wrote:
> On 11/1/24 19:39, Johan Hovold wrote:
> > On Wed, Oct 30, 2024 at 06:25:09PM +0530, Sibi Sankar wrote:
> >> @@ -387,7 +387,7 @@ process_response_opp(struct device *dev, struct perf_dom_info *dom,
> >>
> >> ret = xa_insert(&dom->opps_by_lvl, opp->perf, opp, GFP_KERNEL);
> >> if (ret) {
> >> - dev_warn(dev, "Failed to add opps_by_lvl at %d for %s - ret:%d\n",
> >> + dev_info(dev, FW_BUG "Failed to add opps_by_lvl at %d for %s - ret:%d\n",
> >> opp->perf, dom->info.name, ret);
> >
> > I was hoping you could make the error message a bit more informative as
> > well, for example, by saying that a duplicate opp level was ignored:
> >
> > arm-scmi arm-scmi.0.auto: [Firmware Bug]: Ignoring duplicate OPP 3417600 for NCC
>
> I did think about doing something similar but xa_insert can fail
> with both -EXIST (duplicate) and -ENOMEM, so the we can't really
> use term duplicate when insert fails. I can add the perf level
> though to the message though.
We generally don't log errors for memory allocation failures (e.g. as
that would already have been taken care of by the allocators, if that is
the source of the -ENOMEM).
But either way you should be able to check the errno to determine if
this is due to a duplicate entry or not.
Johan
Powered by blists - more mailing lists