From owner-freebsd-bugs Wed Feb 21 01:59:59 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id BAA22553 for bugs-outgoing; Wed, 21 Feb 1996 01:59:59 -0800 (PST) Received: from flox.kiam1.rssi.ru ([193.232.219.10]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id BAA22547 for ; Wed, 21 Feb 1996 01:59:53 -0800 (PST) Received: (from avl@localhost) by flox.kiam1.rssi.ru (8.6.12/8.6.9) id MAA12958; Wed, 21 Feb 1996 12:58:46 +0300 Date: Wed, 21 Feb 1996 12:58:46 +0300 From: Lapinsky Alexander Message-Id: <199602210958.MAA12958@flox.kiam1.rssi.ru> To: joerg_wunsch@uriah.heep.sax.de CC: bugs@FreeBSD.ORG In-reply-to: <199602202357.AAA17497@uriah.heep.sax.de> (message from J Wunsch on Wed, 21 Feb 1996 00:57:31 +0100 (MET)) Subject: Re: /usr/bin/mt core dumped Sender: owner-bugs@FreeBSD.ORG Precedence: bulk > As Lapinsky Alexander wrote: > > > > Some times mt utility "core dumped" (it is right, for example, > > for Archive/Wangtek QIC-02 tape controller). [ skipped ] > The fix in -current was to insert the lines > > if (!bits) > return; > > right above the ++bits. Basically the same as your fix. > > FreeBSD should define a real register description instead. This is on > my whiteboard for the `wt', but doesn't have a very high priority. And how about bug in wt driver ? ( Fix see below :-) I sent my fix to authors, but have no answer yet. > > -- > cheers, J"org > > joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE > Never trust an operating system you don't have sources for. ;-) Sorry. I used 2.1.0-RELEASE CDROM as source. Sorry :-( A.Lapinsky ****************************** cut here ************************************ *** wt.c~ Fri Feb 16 15:39:50 1996 --- wt.c Fri Feb 16 15:40:58 1996 *************** *** 634,641 **** DEBUG (("unexpected interrupt\n")); return; } - t->flags &= ~TPACTIVE; - t->dmacount += t->bsize; /* increment counter */ /* * Clean up dma. --- 634,639 ---- *************** *** 648,653 **** --- 646,655 ---- } else isa_dmadone (t->dmaflags, t->dmavaddr, t->bsize, t->chan); + t->flags &= ~TPACTIVE; + t->dmacount += t->bsize; /* increment counter */ + t->dmavaddr += t->bsize; + /* * On exception, check for end of file and end of volume. */ *************** *** 663,669 **** } if (t->dmacount < t->dmatotal) { /* continue i/o */ - t->dmavaddr += t->bsize; wtdma (t); DEBUG (("continue i/o, %d\n", t->dmacount)); return; --- 665,670 ---- ********************************** cut here *****************************