[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZK0h4jR/St1yrOLo@li-c6426e4c-27cf-11b2-a85c-95d65bc0de0e.ibm.com>
Date: Tue, 11 Jul 2023 15:03:22 +0530
From: Gautam Menghani <gautam@...ux.ibm.com>
To: Jordan Niethe <jniethe5@...il.com>
Cc: mpe@...erman.id.au, npiggin@...il.com, christophe.leroy@...roup.eu,
linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] arch/powerpc: Remove unnecessary endian conversion code
in XICS
On Thu, Jul 06, 2023 at 05:50:57PM +1000, Jordan Niethe wrote:
>
>
> On 30/6/23 3:56 pm, Gautam Menghani wrote:
> > Remove an unnecessary piece of code that does an endianness conversion but
> > does not use the result. The following warning was reported by Clang's
> > static analyzer:
> >
> > arch/powerpc/sysdev/xics/ics-opal.c:114:2: warning: Value stored to
> > 'server' is never read [deadcode.DeadStores]
> > server = be16_to_cpu(oserver);
> >
> > As the result of endianness conversion is never used, delete the line
> > and fix the warning.
> >
> > Signed-off-by: Gautam Menghani <gautam@...ux.ibm.com>
>
> 'server' was used as a parameter to opal_get_xive() in commit 5c7c1e9444d8
> ("powerpc/powernv: Add OPAL ICS backend") when it was introduced. 'server'
> was also used in an error message for the call to opal_get_xive().
>
> 'server' was always later set by a call to ics_opal_mangle_server() before
> being used.
>
> Commit bf8e0f891a32 ("powerpc/powernv: Fix endian issues in OPAL ICS
> backend") used a new variable 'oserver' as the parameter to opal_get_xive()
> instead of 'server' for endian correctness. It also removed 'server' from
> the error message for the call to opal_get_xive().
>
> It was commit bf8e0f891a32 that added the unnecessary conversion and never
> used the result.
>
> Reviewed-by: Jordan Niethe <jniethe5@...il.com>
Yes, thanks for the info Jordan. Just to add to this,
ics_opal_mangle_server() needs input in LE and the 'wanted_server' is
already LE as xics_get_irq_server() is returning result in LE. So the
line
`server = be16_to_cpu(oserver);'
is indeed not required.
Thanks,
Gautam
>
>
> > ---
> > arch/powerpc/sysdev/xics/ics-opal.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/arch/powerpc/sysdev/xics/ics-opal.c b/arch/powerpc/sysdev/xics/ics-opal.c
> > index 6cfbb4fac7fb..5fe73dabab79 100644
> > --- a/arch/powerpc/sysdev/xics/ics-opal.c
> > +++ b/arch/powerpc/sysdev/xics/ics-opal.c
> > @@ -111,7 +111,6 @@ static int ics_opal_set_affinity(struct irq_data *d,
> > __func__, d->irq, hw_irq, rc);
> > return -1;
> > }
> > - server = be16_to_cpu(oserver);
> > wanted_server = xics_get_irq_server(d->irq, cpumask, 1);
> > if (wanted_server < 0) {
> >
Powered by blists - more mailing lists