On Tue, Jan 25, 2022 at 11:22:45AM +0100, Mark Kettenis wrote:
> > The KASSERT triggers but for the wrong reason: We don't have outstanding
> > tasks, we have a bad reference counter. Only setting the ref counter to 1 if
> > we are about to launch a task during resume should fix it, and this matches
> > what iwx(4) is doing:
> 
> Running this now.  May take some time to reproduce the issue though.

Any news?  I would like to commit this patch.

> > diff d26399562c831a7212cebc57463cc9931ff8aff2 /usr/src
> > blob - 937f2cc28f6c85502031e4c9efa0a02c75fd1a6d
> > file + sys/dev/pci/if_iwm.c
> > --- sys/dev/pci/if_iwm.c
> > +++ sys/dev/pci/if_iwm.c
> > @@ -11719,8 +11719,6 @@ iwm_wakeup(struct iwm_softc *sc)
> >     struct ifnet *ifp = &sc->sc_ic.ic_if;
> >     int err;
> >  
> > -   refcnt_init(&sc->task_refs);
> > -
> >     err = iwm_start_hw(sc);
> >     if (err)
> >             return err;
> > @@ -11729,6 +11727,7 @@ iwm_wakeup(struct iwm_softc *sc)
> >     if (err)
> >             return err;
> >  
> > +   refcnt_init(&sc->task_refs);
> >     ifq_clr_oactive(&ifp->if_snd);
> >     ifp->if_flags |= IFF_RUNNING;
> >  
> > 
> 

Reply via email to