Subject: Re: LFS partition limitations
To: Tracy J. Di Marco White <gendalia@iastate.edu>
From: Simon Burge <simonb@wasabisystems.com>
List: current-users
Date: 10/01/2000 11:08:42
"Tracy J. Di Marco White" wrote:

> savecore says: reboot after panic: bad dir
> The last thing in syslog (1 second before the time savecore says for the
> panic) is: bha0: mbi not in round-robin order

Ding!  This sounds awfully like PR kern/9841.  Could you please try the
following patch and see if it makes any difference?  Please note that I
don't know if this patch will work or not - I'm waiting on someone to
get back from a weekend break to confirm if this is the right "fix" for
the PR.

Ta,
Simon
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD Sales, Support and Service:  http://www.wasabisystems.com/


Index: bha.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/ic/bha.c,v
retrieving revision 1.37
diff -d -p -u -r1.37 bha.c
--- bha.c	2000/06/28 17:12:54	1.37
+++ bha.c	2000/10/01 00:06:10
@@ -293,7 +293,7 @@ bha_scsi_cmd(xs)
 	bus_dma_tag_t dmat = sc->sc_dmat;
 	struct bha_ccb *ccb;
 	int error, seg, flags, s;
-	int fromqueue = 0, dontqueue = 0, nowait = 0;
+	int fromqueue = 0, dontqueue = 0;
 
 	SC_DEBUG(sc_link, SDEV_DB2, ("bha_scsi_cmd\n"));
 
@@ -306,7 +306,6 @@ bha_scsi_cmd(xs)
 	if (xs == TAILQ_FIRST(&sc->sc_queue)) {
 		TAILQ_REMOVE(&sc->sc_queue, xs, adapter_q);
 		fromqueue = 1;
-		nowait = 1;
 		goto get_ccb;
 	}
 
@@ -343,8 +342,6 @@ bha_scsi_cmd(xs)
 	 * then we can't allow it to sleep
 	 */
 	flags = xs->xs_control;
-	if (nowait)
-		flags |= XS_CTL_NOSLEEP;
 	if ((ccb = bha_get_ccb(sc, flags)) == NULL) {
 		/*
 		 * If we can't queue, we lose.