From owner-freebsd-hackers Thu Nov 14 12:31:17 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA03097 for hackers-outgoing; Thu, 14 Nov 1996 12:31:17 -0800 (PST) Received: from news1.gtn.com (news1.gtn.com [192.109.159.3]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id MAA02809 for ; Thu, 14 Nov 1996 12:25:22 -0800 (PST) Received: (from uucp@localhost) by news1.gtn.com (8.7.2/8.7.2) with UUCP id VAA24558; Thu, 14 Nov 1996 21:02:19 +0100 (MET) Received: from localhost (localhost [127.0.0.1]) by klemm.gtn.com (8.8.2/8.8.2) with SMTP id UAA00446; Thu, 14 Nov 1996 20:57:01 +0100 (MET) Date: Thu, 14 Nov 1996 20:57:01 +0100 (MET) From: Andreas Klemm To: "Justin T. Gibbs" cc: "Alexsandro D. F. Correia" , hackers@FreeBSD.org Subject: Re: Problems restoring Backups !!! In-Reply-To: <199611120426.UAA13829@freefall.freebsd.org> Message-ID: X-try-apsfilter: ftp://sunsite.unc.edu/pub/Linux/system/Printing/aps-491.tgz X-Fax: +49 2137 2018 X-Phone: +49 2137 2020 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk Justin, I tried this patch now: a) options AHC_SCBPAGING_ENABLE options AHC_TAGENABLE timed out in message 0xf4 issued channel A bus reset 4 SCB's aborted SCSISIGI==0xc6 timedout in message in phase SCSISIGI==0xc6 SEQADDR==0x59 Ordered Tag queued sd0(....) timed out .... SCSISIGI==0xc6 SEQADDR==0x5a st0(0:4:0) abort message in message buffer st0(0:4:0) timedout in message in phase ... b) options AHC_TAGENABLE Here trouble, too, although an SCSI BUS Reset is done. But, if you access the tape once more doing a mt status only DDB is called... ... ... timed out in message in phase Bus reset Unit ... st0(0:4:0) Unix attention ... asc:25,0 ... ... Ordered tag sent > Index: i386/scsi/aic7xxx.c > =================================================================== > RCS file: /usr/cvs/src/sys/i386/scsi/aic7xxx.c,v > retrieving revision 1.85 > diff -c -r1.85 aic7xxx.c > *** aic7xxx.c 1996/11/11 05:24:44 1.85 > --- aic7xxx.c 1996/11/12 04:19:04 > *************** > *** 1206,1226 **** > if (xs->error == XS_NOERROR) > xs->error = XS_DRIVER_STUFFUP; > break; > case SCSI_BUSY: > xs->error = XS_BUSY; > sc_print_addr(xs->sc_link); > printf("Target Busy\n"); > - break; > - case SCSI_QUEUE_FULL: > - /* > - * The upper level SCSI code will someday > - * handle this properly. > - */ > - printf("Queue Full\n"); > - /* > - * XXX requeue this unconditionally. > - */ > - STAILQ_INSERT_HEAD(&ahc->waiting_scbs, scb, links); > break; > default: > sc_print_addr(xs->sc_link); > --- 1206,1242 ---- > if (xs->error == XS_NOERROR) > xs->error = XS_DRIVER_STUFFUP; > break; > + case SCSI_QUEUE_FULL: > + if (scb->hscb->control & TAG_ENB) { > + /* > + * The upper level SCSI code in 3.0 > + * handles this properly... > + */ > + struct scsi_link *sc_link; > + > + sc_link = xs->sc_link; > + if (sc_link->active > 2 > + && sc_link->opennings != 0) { > + /* truncate the opennings */ > + sc_link->opennings = 0; > + sc_print_addr(sc_link); > + printf("Tagged openings reduced to " > + "%d\n", sc_link->active); > + } > + /* > + * XXX requeue this unconditionally. > + */ > + STAILQ_INSERT_TAIL(&ahc->waiting_scbs, scb, > + links); > + break; > + } > + /* Else treat as if it is a BUSY condition */ > + scb->hscb->status = SCSI_BUSY; > + /* Fall Through... */ > case SCSI_BUSY: > xs->error = XS_BUSY; > sc_print_addr(xs->sc_link); > printf("Target Busy\n"); > break; > default: > sc_print_addr(xs->sc_link); > andreas@klemm.gtn.com /\/\___ Wiechers & Partner Datentechnik GmbH Andreas Klemm ___/\/\/ Support Unix -- andreas.klemm@wup.de pgp p-key http://www-swiss.ai.mit.edu/~bal/pks-toplev.html >>> powered by <<< ftp://sunsite.unc.edu/pub/Linux/system/Printing/aps-491.tgz >>> FreeBSD <<<