On Sat, Nov 19, 2005 at 12:27:14PM +0100, Martin Reindl wrote:
> No changes happened to pcscp in this timeframe. Try with CVS sources in
> src/sys/scsi from 12th and then from 15th (or in between as necessary).
The change by krw@ below caused my problem. Seems that my hardware
can't live without the delay.
Ciao,
Kili
Index: scsi_base.c
===================================================================
RCS file: /var/cvs/OpenBSD/src/sys/scsi/scsi_base.c,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -u -w -r1.95 -r1.96
--- scsi_base.c 13 Nov 2005 02:39:45 -0000 1.95
+++ scsi_base.c 13 Nov 2005 03:27:42 -0000 1.96
@@ -1,4 +1,4 @@
-/* $OpenBSD: scsi_base.c,v 1.95 2005/11/13 02:39:45 krw Exp $ */
+/* $OpenBSD: scsi_base.c,v 1.96 2005/11/13 03:27:42 krw Exp $ */
/* $NetBSD: scsi_base.c,v 1.43 1997/04/02 02:29:36 mycroft Exp $ */
/*
@@ -78,6 +78,11 @@
if (scsi_init_done)
return;
scsi_init_done = 1;
+
+#if defined(SCSI_DELAY) && SCSI_DELAY > 0
+ /* Historical. Older buses may need a moment to stabilize. */
+ delay(1000000 * SCSI_DELAY);
+#endif
/* Initialize the scsi_xfer pool. */
pool_init(&scsi_xfer_pool, sizeof(struct scsi_xfer), 0,
Index: scsiconf.c
===================================================================
RCS file: /var/cvs/OpenBSD/src/sys/scsi/scsiconf.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -u -w -r1.97 -r1.98
--- scsiconf.c 10 Oct 2005 20:06:12 -0000 1.97
+++ scsiconf.c 13 Nov 2005 03:27:42 -0000 1.98
@@ -1,4 +1,4 @@
-/* $OpenBSD: scsiconf.c,v 1.97 2005/10/10 20:06:12 krw Exp $ */
+/* $OpenBSD: scsiconf.c,v 1.98 2005/11/13 03:27:42 krw Exp $ */
/* $NetBSD: scsiconf.c,v 1.57 1996/05/02 01:09:01 neil Exp $ */
/*
@@ -178,15 +178,6 @@
panic("scsibusattach: can't allocate lun links");
bzero(sb->sc_link[i], nbytes);
}
-
-#if defined(SCSI_DELAY) && SCSI_DELAY > 2
- printf("%s: waiting for scsi devices to settle\n",
- sb->sc_dev.dv_xname);
-#else /* SCSI_DELAY > 2 */
-#undef SCSI_DELAY
-#define SCSI_DELAY 2
-#endif /* SCSI_DELAY */
- delay(1000000 * SCSI_DELAY);
scsi_probe_bus(sb->sc_dev.dv_unit, -1, -1);
}