Subject: Re: Adaptec 2940AU sighs.
To: Justin T. Gibbs <gibbs@freefall.freebsd.org>
From: Neil J. McRae <neil@easynet.net>
List: current-users
Date: 11/22/1996 16:54:12
On Fri, 22 Nov 1996 08:47:23 -0800 
 "Justin T. Gibbs" <gibbs@freefall.freebsd.org> alleged:

Justin, thanks for your swift reply. [Which I'm adding to current-users
as this one is going to bite a few people]


> This is not a driver bug, but a bug in the NetBSD SCSI system.  Basically,
> you only have the ability to queue 3 transactions at a time with an aic7860
> based controller.  If the NetBSD SCSI code attempts to queue more than that
> and the request comes from an interrupt context (or what is thought 'can'
> be an interrupt context), the driver returns an error saying that it's out
> of resources since it cannot sleep waiting for an SCB to free up.  The SCSI
> code retries a few more times, then gives up.

Right, thats why the 7880 chip works ok, as it has more space to queue
transactions?

> 
> A "Band-Aid" for this problem, (add code so that the "no sleeping"
> restriction is only enforced when you are truely in an interrupt context)
> has been in FreeBSD for a long time (2 years now?) and I have never seen
> this problem since.  In the new SCSI code I'm working on, it is fixed
> "correctly" by using queues so sleeping is never necessary.  At the same
> time these changes make the SCSI system much more efficient.

Do you think it would be possible to patch NetBSD's scsi code to make
this work temp? Are you doing anything for the NetBSD SCSI system in 
your current SCSI code? [kinda embarressing that FreeBSD have to fix
NetBSD's code mind you] 

> 
> Charles already knows about this problem.
> 
> As for my recent changes to the aic7xxx driver, I'd consider then too green
> to port over to NetBSD for the moment.  I'm still trying to squash some
> bugs I've introduced that only seem to pop up on peripherals that are much
> faster than any I have direct access to.
> 
OK Justin. Once again thanks for your help.

Neil.
--  
Neil J. McRae. Alive and Kicking.          E A S Y N E T  G R O U P  P L C 
neil@EASYNET.NET        NetBSD/sparc: 100% SpF (Solaris protection Factor) 
  Free the daemon in your computer!