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