Index: dev/i2o/iop.c =================================================================== RCS file: /u/open/cvs/src/sys/dev/i2o/iop.c,v retrieving revision 1.22 diff -u -r1.22 iop.c --- dev/i2o/iop.c 7 Jun 2002 09:10:13 -0000 1.22 +++ dev/i2o/iop.c 1 Aug 2003 17:37:03 -0000 @@ -888,8 +888,6 @@ continue; iop_simple_cmd(sc, I2O_TID_IOP, I2O_EXEC_SYS_QUIESCE, IOP_ICTX, 0, 5000); - iop_simple_cmd(sc, I2O_TID_IOP, I2O_EXEC_IOP_CLEAR, IOP_ICTX, - 0, 1000); } /* Wait. Some boards could still be flushing, stupidly enough. */ Index: dev/i2o/iopsp.c =================================================================== RCS file: /u/open/cvs/src/sys/dev/i2o/iopsp.c,v retrieving revision 1.7 diff -u -r1.7 iopsp.c --- dev/i2o/iopsp.c 13 Jan 2003 03:56:47 -0000 1.7 +++ dev/i2o/iopsp.c 1 Aug 2003 17:37:15 -0000 @@ -313,22 +313,21 @@ it = &sc->sc_targetmap[targ]; it->it_flags |= IT_PRESENT; syncrate = (int)((letoh64(param.sdi.negsyncrate) + 500) / 1000); - if (it->it_width == param.sdi.negdatawidth && - it->it_offset == param.sdi.negoffset && - it->it_syncrate == syncrate) - continue; + if (it->it_width != param.sdi.negdatawidth || + it->it_offset != param.sdi.negoffset || + it->it_syncrate != syncrate) { + it->it_width = param.sdi.negdatawidth; + it->it_offset = param.sdi.negoffset; + it->it_syncrate = syncrate; - it->it_width = param.sdi.negdatawidth; - it->it_offset = param.sdi.negoffset; - it->it_syncrate = syncrate; - - printf("%s: target %d (tid %d): %d-bit, ", sc->sc_dv.dv_xname, - targ, tid, it->it_width); - if (it->it_syncrate == 0) - printf("asynchronous\n"); - else - printf("synchronous at %dMHz, offset 0x%x\n", - it->it_syncrate, it->it_offset); + printf("%s: target %d (tid %d): %d-bit, ", sc->sc_dv.dv_xname, + targ, tid, it->it_width); + if (it->it_syncrate == 0) + printf("asynchronous\n"); + else + printf("synchronous at %dMHz, offset 0x%x\n", + it->it_syncrate, it->it_offset); + } #endif /* Ignore the device if it's in use by somebody else. */ Index: dev/pci/iop_pci.c =================================================================== RCS file: /u/open/cvs/src/sys/dev/pci/iop_pci.c,v retrieving revision 1.4 diff -u -r1.4 iop_pci.c --- dev/pci/iop_pci.c 31 Mar 2002 05:25:10 -0000 1.4 +++ dev/pci/iop_pci.c 1 Aug 2003 17:37:24 -0000 @@ -89,6 +89,13 @@ PCI_INTERFACE(pa->pa_class) == PCI_INTERFACE_I2O_INTRDRIVEN) return (1); + /* + * Match DPT/Adaptec boards that don't conform exactly to the spec. + */ + if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_DPT && + PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_DPT_RAID_I2O) + return (1); + return (0); }