> > diff --git a/sys/dev/ipmi.c b/sys/dev/ipmi.c
> > index a1156d8..91aa147 100644
> > --- a/sys/dev/ipmi.c
> > +++ b/sys/dev/ipmi.c
> > @@ -1082,11 +1017,7 @@ void
> >  ipmi_delay(struct ipmi_softc *sc, int period)
> >  {
> >     /* period is in 10 ms increments */
> > -   if (cold || sc->sc_poll)
> > -           delay(period * 10000);
> > -   else
> > -           while (tsleep(sc, PWAIT, "ipmicmd", period) != EWOULDBLOCK)
> > -                   continue;
> > +   delay(period * 10000);
> >  }
> 
> Doing a spinning delay like that for such a long time is pretty bad.

And if it becomes a polling driver like this, it stands even less of
a chance of ever being enabled.

Reply via email to