From owner-freebsd-current Fri Oct 1 15: 3:58 1999 Delivered-To: freebsd-current@freebsd.org Received: from overcee.netplex.com.au (overcee.netplex.com.au [202.12.86.7]) by hub.freebsd.org (Postfix) with ESMTP id AC59A14CD1; Fri, 1 Oct 1999 15:03:50 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from netplex.com.au (localhost [127.0.0.1]) by overcee.netplex.com.au (Postfix) with ESMTP id A90A71CA7; Sat, 2 Oct 1999 06:03:48 +0800 (WST) (envelope-from peter@netplex.com.au) X-Mailer: exmh version 2.0.2 2/24/98 To: phk@freebsd.org Cc: current@freebsd.org Subject: BEWARE: CAM changes broke AHC! Date: Sat, 02 Oct 1999 06:03:48 +0800 From: Peter Wemm Message-Id: <19991001220348.A90A71CA7@overcee.netplex.com.au> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG If you boot with a -current kernel: (da0:ahc0:0:0:0) data overrun detected in Data-In phase. Tag = 0x8 (da0:ahc0:0:0:0) Have seen Data Phase. Length = 0, NumSGs = 1 Backing out the following sys/cam/scsi change set: revision 1.39 date: 1999/10/01 09:34:09; author: phk; state: Exp; lines: +47 -117 Introduce the disk mini-layer and devstat_end_transaction_buf() in cam/scsi. ..and the other files touched at the same time revived it and made the system bootable again. I am particularly suspicious about this: @@ -284,26 +283,14 @@ return (error); /* error code from tsleep */ } - if ((softc->flags & DA_FLAG_OPEN) == 0) { - if (cam_periph_acquire(periph) != CAM_REQ_CMP) - return(ENXIO); - softc->flags |= DA_FLAG_OPEN; - } + if (cam_periph_acquire(periph) != CAM_REQ_CMP) + return(ENXIO); + softc->flags |= DA_FLAG_OPEN; At first glance, it would appear it's re-inquiring on each open instead of the first open, including while it's mounted. I wasn't sure, so rather than risk disks, I backed the lot out and it worked again. Cheers, -Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message