From owner-freebsd-bugs Sun Sep 10 03:47:15 1995 Return-Path: bugs-owner Received: (from majordom@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id DAA14894 for bugs-outgoing; Sun, 10 Sep 1995 03:47:15 -0700 Received: from irz301.inf.tu-dresden.de (irz301.inf.tu-dresden.de [141.76.1.11]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id DAA14869 ; Sun, 10 Sep 1995 03:47:07 -0700 Received: from sax.sax.de by irz301.inf.tu-dresden.de (8.6.12/8.6.12-s1) with ESMTP id MAA17933; Sun, 10 Sep 1995 12:38:41 +0200 Received: by sax.sax.de (8.6.11/8.6.12-s1) with UUCP id MAA18609; Sun, 10 Sep 1995 12:38:40 +0200 Received: (from j@localhost) by uriah.heep.sax.de (8.6.12/8.6.9) id MAA01669; Sun, 10 Sep 1995 12:19:33 +0200 From: J Wunsch Message-Id: <199509101019.MAA01669@uriah.heep.sax.de> Subject: Re: misc/717: ft.c attach fail on my Mountain tape drive To: nistler@millcomm.com Date: Sun, 10 Sep 1995 12:19:31 +0200 (MET DST) Cc: FreeBSD-gnats-submit@FreeBSD.ORG, bugs@FreeBSD.ORG Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) In-Reply-To: <199509011732.MAA00403@chaos.millcomm.com> from "John Nistler" at Sep 1, 95 12:32:46 pm X-Phone: +49-351-2012 669 X-Mailer: ELM [version 2.4 PL23] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Content-Length: 1630 Sender: bugs-owner@FreeBSD.ORG Precedence: bulk As John Nistler wrote: > > [2: ft0: Mountain tape] > > >Description: > When the ft.c code does the attach it uses polling in the > ftintr_waiti(in the if (ft->attach), in case FTCMD_SEEK) with a > delay(100) which is too short. I changed this to 1000. > >Fix: > > /usr/src/sys/i386/isa> diff ft.c.orig ft.c > 1480c1480,1481 > < DELAY(100); > --- > > DELAY(1000); > > /* DELAY(100); */ Please, supply context diffs! It's rather hard to track simple diffs if the source has been changed meanwhile. In this case, the entire logic has been slightly modified since 2.0R, where your patch apparently is for. Can you please try if the following patch would also solve your problem? This is the appropriate code fragment out of 2.0.5. If this does solve it, too, we can close the PR. Index: ft.c =================================================================== RCS file: /home/cvs/src/sys/i386/isa/ft.c,v retrieving revision 1.14 diff -u -r1.14 ft.c --- 1.14 1994/11/15 14:34:42 +++ ft.c 1995/09/10 10:14:32 @@ -1469,15 +1503,16 @@ case FTCMD_RECAL: case FTCMD_SEEK: for (retries = 0; retries < 10000; retries++) { + DELAY(150); out_fdc(fdcu, NE7CMD_SENSEI); st0 = in_fdc(fdcu); + if ((st0 & 0xc0) == 0x80) continue; pcn = in_fdc(fdcu); if (st0 & 0x20) { ft->sts_wait = FTSTS_INTERRUPT; ft->pcn = pcn; goto intrdone; } - DELAY(100); } break; } -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-)