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: Manuel Bouyer <bouyer%antioche.eu.org@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: Fri, 22 Jan 2010 19:05:45 +0100

 --NzB8fVQJ5HfG6fxh
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 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.
 
 > [...]
 >      Another, possibly unrelated problem affects only current:
 >      when disabling iop in userconf, current fails to mount root fs
 >      and starts probing for /sbin/init, /sbin/oinit and so on.
 
 Looks more like a module issue; the ffs module is not loaded.
 
 -- 
 Manuel Bouyer <bouyer%antioche.eu.org@localhost>
      NetBSD: 26 ans d'experience feront toujours la difference
 --
 
 --NzB8fVQJ5HfG6fxh
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="iop.diff"
 
 Index: iop.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/i2o/iop.c,v
 retrieving revision 1.77
 diff -u -p -u -r1.77 iop.c
 --- 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);
 
 --NzB8fVQJ5HfG6fxh--
 


Home | Main Index | Thread Index | Old Index