Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Feb 1996 12:58:46 +0300
From:      Lapinsky Alexander <avl@kiam1.rssi.ru>
To:        joerg_wunsch@uriah.heep.sax.de
Cc:        bugs@FreeBSD.ORG
Subject:   Re: /usr/bin/mt core dumped
Message-ID:  <199602210958.MAA12958@flox.kiam1.rssi.ru>
In-Reply-To: <199602202357.AAA17497@uriah.heep.sax.de> (message from J Wunsch on Wed, 21 Feb 1996 00:57:31 %2B0100 (MET))

next in thread | previous in thread | raw e-mail | index | archive | help

> 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 *****************************




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199602210958.MAA12958>