[137] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: BusLogic/HP-DAT Problems - Solved

daemon@ATHENA.MIT.EDU (Kai Makisara)
Mon Apr 10 11:57:33 1995

Date: Mon, 10 Apr 1995 17:01:03 +0300 (EET DST)
From: Kai Makisara <makisara@abies.metla.fi>
Reply-To: Kai.Makisara@metla.fi
To: Michael Weller <eowmob@exp-math.uni-essen.de>
Cc: linux-scsi@vger.rutgers.edu, "Leonard N. Zubkoff" <lnz@dandelion.com>
In-Reply-To: <Pine.3.89.9504101229.B29610-0100000@werner.exp-math.uni-essen.de>

I think Leonard's patch was correct and it has already been submitted to 
Linus. The byte counts in the scsi_do_cmd calls in the tape driver were 
fixed some time last year but I missed this call. The earlier versions of
the driver used mostly the buffer size as the byte count. This explains 
the behaviour you (Michael) have seen earlier.

There are several perfectly natural situations where the tape drive does not 
return the predicted number of bytes or would have more data to deliver 
(reading up to EOF or EOD, the block shorter or longer than expected, 
etc.). In all these cases the CHECK CONDITION status is returned and the 
situation can be cleared based on this. However, if everything goes well 
(status GOOD), underrun/overrun means that something may be wrong (an 
error or an errant driver programmer :-).

IMHO an intelligent adapter should not signal overrun/underrun if it 
returns CHECK CONDITION status. If it does signal overrun/underrun in 
this case, the driver should filter it out.

	Kai

home help back first fref pref prev next nref lref last post