Subject: Re: st tape driver
To: None <carrel@cisco.com, port-hp300@sun-lamp.cs.berkeley.edu>
From: Mike Hibler <mike@cs.utah.edu>
List: port-hp300
Date: 06/10/1994 09:52:44
Part (most? all?) of the problem is due to the fact that the hp300 SCSI
code doesn't do connect/disconnect so the bus is locked up for the duration
of the operation.  Another unfortunate side-effect is that the SCSI code is
(improperly) holding on to one of the two HP DMA channels during this non-
transfer operation.  Hence, the dma timeout messages.  Never got around to
fixing either of these, we always just put our SCSI tape drives on a
different bus (host adaptor)-- one of the benefits of having lots of HP
hardware!

BTW: there was a divide-by-zero problem in the Lite SCSI tape driver:

*** /4.4BSD-Lite/sys/hp300/dev/st.c	Wed Jan 12 16:36:51 1994
--- st.c	Fri May 27 12:46:28 1994
***************
*** 37,43 ****
   *
   * from: Utah $Hdr: st.c 1.11 92/01/21$
   *
!  *      @(#)st.c	8.3 (Berkeley) 1/12/94
   */
  
  /*
--- 37,43 ----
   *
   * from: Utah $Hdr: st.c 1.11 92/01/21$
   *
!  *      @(#)st.c	8.4 (Berkeley) 5/27/94
   */
  
  /*
***************
*** 949,958 ****
  				 xp->exb_xsense.tplft1 << 8 |
  				 xp->exb_xsense.tplft0);
  			mtget->mt_resid = resid / 1000;
! 			mtget->mt_erreg |= (((xp->exb_xsense.rwerrcnt2 << 16 |
! 					      xp->exb_xsense.rwerrcnt1 << 8 |
! 					      xp->exb_xsense.rwerrcnt0) * 100) / 
! 					    (sc->sc_numblks - resid)) & 0xff;
  		} else if (xp->sc_xsense.valid) {
  			resid = ((xp->sc_xsense.info1 << 24) |
  				 (xp->sc_xsense.info2 << 16) |
--- 949,960 ----
  				 xp->exb_xsense.tplft1 << 8 |
  				 xp->exb_xsense.tplft0);
  			mtget->mt_resid = resid / 1000;
! 			if (sc->sc_numblks - resid)
! 				mtget->mt_erreg |=
! 					(((xp->exb_xsense.rwerrcnt2 << 16 |
! 					   xp->exb_xsense.rwerrcnt1 << 8 |
! 					   xp->exb_xsense.rwerrcnt0) * 100) / 
! 					 (sc->sc_numblks - resid)) & 0xff;
  		} else if (xp->sc_xsense.valid) {
  			resid = ((xp->sc_xsense.info1 << 24) |
  				 (xp->sc_xsense.info2 << 16) |

------------------------------------------------------------------------------