Could people with ahc(4) SCSI controllers give the following diff a try
and report whether this causes any difference in behaviour? This diff
seems to do wonders on alpha, but I'd like reports from other platforms
(such as i386, amd64 and macppc) before considering putting it in.

Thanks,
Miod

Index: aic7xxx_openbsd.h
===================================================================
RCS file: /cvs/src/sys/dev/ic/aic7xxx_openbsd.h,v
retrieving revision 1.21
diff -u -p -r1.21 aic7xxx_openbsd.h
--- aic7xxx_openbsd.h   17 Jul 2011 22:46:48 -0000      1.21
+++ aic7xxx_openbsd.h   8 Feb 2012 21:48:48 -0000
@@ -193,8 +193,8 @@ static __inline void ahc_flush_device_wr
 static __inline void
 ahc_flush_device_writes(struct ahc_softc *ahc)
 {
-       /* XXX Is this sufficient for all architectures??? */
-       ahc_inb(ahc, INTSTAT);
+       bus_space_barrier(ahc->tag, ahc->bsh, 0, 0x100,
+           BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE);
 }
 
 /**************************** Locking Primitives 
******************************/

Reply via email to