Re: git: ad34121518bb - main - Revert "pst: improve shutdown_post_sync handler"

From: Baptiste Daroussin <bapt_at_freebsd.org>
Date: Sat, 25 Nov 2023 07:51:36 UTC
Kernel building for i386 is broken now and pkgbase builders do complain, can
anyone have a look?

Best regards,
Bapt

On Thu, Nov 23, 2023 at 10:09:35PM +0100, Mateusz Guzik wrote:
> i386 kernel is going down, i suggest just dropping the patch
> 
> On 11/23/23, Mitchell Horne <mhorne@freebsd.org> wrote:
> > The branch main has been updated by mhorne:
> >
> > URL:
> > https://cgit.FreeBSD.org/src/commit/?id=ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a
> >
> > commit ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a
> > Author:     Mitchell Horne <mhorne@FreeBSD.org>
> > AuthorDate: 2023-11-23 19:46:28 +0000
> > Commit:     Mitchell Horne <mhorne@FreeBSD.org>
> > CommitDate: 2023-11-23 19:48:44 +0000
> >
> >     Revert "pst: improve shutdown_post_sync handler"
> >
> >     I did not realize this driver was i386-only, and the change fails to
> >     compile. Revert so that I can fix it properly.
> >
> >     This reverts commit 428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4.
> >
> >     Pointy hat to: mhorne
> > ---
> >  sys/dev/pst/pst-iop.c  |  2 +-
> >  sys/dev/pst/pst-raid.c | 14 +++++---------
> >  2 files changed, 6 insertions(+), 10 deletions(-)
> >
> > diff --git a/sys/dev/pst/pst-iop.c b/sys/dev/pst/pst-iop.c
> > index 43ced2401d2c..f9921a564333 100644
> > --- a/sys/dev/pst/pst-iop.c
> > +++ b/sys/dev/pst/pst-iop.c
> > @@ -432,7 +432,7 @@ iop_queue_wait_msg(struct iop_softc *sc, int mfa, struct
> > i2o_basic_message *msg)
> >      int status, timeout = 10000;
> >
> >      mtx_lock(&sc->mtx);
> > -    if ((sc->reg->oqueue_intr_mask & I20_OUT_INTR_QUEUE) == 0) {
> > +    if (!(sc->reg->oqueue_intr_mask & 0x08)) {
> >          msg->transaction_context = (u_int32_t)&request;
> >          msg->initiator_context = (u_int32_t)iop_done;
> >          sc->reg->iqueue = mfa;
> > diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c
> > index 4f9279462ee8..4e9c4fb724bc 100644
> > --- a/sys/dev/pst/pst-raid.c
> > +++ b/sys/dev/pst/pst-raid.c
> > @@ -73,7 +73,7 @@ struct pst_request {
> >  static disk_strategy_t pststrategy;
> >  static int pst_probe(device_t);
> >  static int pst_attach(device_t);
> > -static void pst_shutdown_post_sync(device_t, int);
> > +static int pst_shutdown(device_t);
> >  static void pst_start(struct pst_softc *);
> >  static void pst_done(struct iop_softc *, u_int32_t, struct i2o_single_reply
> > *);
> >  static int pst_rw(struct pst_request *);
> > @@ -170,23 +170,18 @@ pst_attach(device_t dev)
> >  	   name, psc->info->capacity/(512*255*63), 255, 63,
> >  	   device_get_nameunit(psc->iop->dev));
> >
> > -    EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown_post_sync,
> > +    EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown,
> >  			  dev, SHUTDOWN_PRI_FIRST);
> >      return 0;
> >  }
> >
> > -static void
> > -pst_shutdown_post_sync(device_t dev, int howto __unused)
> > +static int
> > +pst_shutdown(device_t dev)
> >  {
> >      struct pst_softc *psc = device_get_softc(dev);
> >      struct i2o_bsa_cache_flush_message *msg;
> >      int mfa;
> >
> > -    if (SCHEDULER_STOPPED()) {
> > -	/* Request polled shutdown. */
> > -	psc->reg->oqueue_intr_mask = 0xffffffff;
> > -    }
> > -
> >      mfa = iop_get_mfa(psc->iop);
> >      msg = (struct i2o_bsa_cache_flush_message *)(psc->iop->ibase + mfa);
> >      bzero(msg, sizeof(struct i2o_bsa_cache_flush_message));
> > @@ -199,6 +194,7 @@ pst_shutdown_post_sync(device_t dev, int howto
> > __unused)
> >      msg->control_flags = 0x0; /* 0x80 = post progress reports */
> >      if (iop_queue_wait_msg(psc->iop, mfa, (struct i2o_basic_message
> > *)msg))
> >  	printf("pst: shutdown failed!\n");
> > +    return 0;
> >  }
> >
> >  static void
> >
> >
> 
> 
> -- 
> Mateusz Guzik <mjguzik gmail.com>
>