[Skiboot] [PATCH] opal/fsp: Fix opal boot failure on systems with redundant FSP
Mahesh J Salgaonkar
mahesh at linux.ibm.com
Tue Apr 8 19:47:53 AEST 2025
On 2025-04-04 09:27:26 Fri, Reza Arbab wrote:
> On Mon, Mar 17, 2025 at 09:30:03AM +0530, Mahesh Salgaonkar wrote:
> > --- a/hw/fsp/fsp.c
> > +++ b/hw/fsp/fsp.c
> > @@ -76,6 +76,7 @@ struct fsp {
> > unsigned int iopath_count;
> > int active_iopath; /* -1: no active IO path */
> > struct fsp_iopath iopath[FSP_MAX_IOPATH];
> > + bool primary;
> > };
> >
> > enum ipl_state {
> > @@ -1959,7 +1960,7 @@ static void fsp_update_links_states(struct fsp *fsp)
> > }
> >
> > if (fsp->active_iopath >= 0) {
> > - if (!active_fsp || (active_fsp != fsp))
> > + if (active_fsp && (active_fsp != fsp))
> > active_fsp = fsp;
>
> What happens if none of the fsp nodes in the device tree has the "primary"
> property? With this change, won't active_fsp stay NULL forever? Maybe the
> above line should just be
Not sure if that counts as HDAT bug. But yes, if that happens active_fsp
will stay NULL and OPAL may not communicate to any of fsp.
>
> if (active_fsp != fsp)
>
> or even remove the conditional completely and just always do the assignment?
Agree. Will go with unconditional assignment.
Thanks for the review.
-Mahesh.
More information about the Skiboot
mailing list