NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/42662: iop driver makes kernel crash or freeze



The following reply was made to PR kern/42662; it has been noted by GNATS.

From: Aleksej Saushev <asau%inbox.ru@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, 
netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/42662: iop driver makes kernel crash or freeze
Date: Sat, 30 Jan 2010 18:42:37 +0300

 Manuel Bouyer <bouyer%antioche.eu.org@localhost> writes:
 
 >  On Fri, Jan 22, 2010 at 05:50:01PM +0000, Aleksej Saushev wrote:
 >  >   5.0_STABLE installation kernel panics when initializing iop driver,
 >  >   5.99.24 kernel as of 2009-01-21 crashes too,
 >  >   5.99.24 kernel as of today doesn't crash, it freezes instead.
 >  > 
 >  >   All diagnostics below corresponds to 5.0_STABLE.
 >  > 
 >  >   Kernel message at panic:
 >  > 
 >  >   iop0 at pci3 dev 3 function 0: I2O adapterpanic: _bus_dmamap_sync: mix 
 > PRE and POST
 >  
 >  Can you try the attached patch on netbsd-5 ?
 >  No idea why it hangs on current, more info needed.
 
 I applied it to the current instead, it crashes with the same diagnostic
 message and similar backtrace, only it seems to do it a bit later.
 I can try to replace as many instances of the pattern as needed,
 can you recommend how many of them? All in that subroutine?
 
 >  RCS file: /cvsroot/src/sys/dev/i2o/iop.c,v
 >  --- iop.c   21 Oct 2009 21:12:05 -0000      1.77
 >  +++ iop.c   22 Jan 2010 18:03:53 -0000
 >  @@ -928,7 +928,7 @@ iop_status_get(struct iop_softc *sc, int
 >          BUS_DMASYNC_PREWRITE);
 >      memset(st, 0, sizeof(*st));
 >      bus_dmamap_sync(sc->sc_dmat, sc->sc_scr_dmamap, 0, sizeof(*st),
 >  -       BUS_DMASYNC_PREREAD|BUS_DMASYNC_POSTWRITE);
 >  +       BUS_DMASYNC_POSTWRITE);
 >   
 >      if ((rv = iop_post(sc, (u_int32_t *)&mf)) != 0)
 >              return (rv);
 
 
 -- 
 HE CE3OH...
 


Home | Main Index | Thread Index | Old Index