Subject: Re: Adaptec 2940AU sighs.
To: Charles M. Hannum <mycroft@gnu.ai.mit.edu>
From: Justin T. Gibbs <gibbs@freefall.freebsd.org>
List: current-users
Date: 11/25/1996 17:16:56
>
>"Justin T. Gibbs" <gibbs@freefall.freebsd.org> writes:
>> 
>> This is not a driver bug, but a bug in the NetBSD SCSI system.
>
>That's just plain wrong.  That the driver violates the interface
>provided *IS* a bug in the driver.  End of story.

Don't end the story so soon.  It was just getting interesting...

The NetBSD scsi code allows a driver to return "TRY_AGAIN_LATER" from its
scsi_cmd routine.  The aic7xxx driver returns this code in exactly this
resource shortage scenario.  If TRY_AGAIN_LATER means "I'm going to drop
this request on the floor", this return value should either be renamed or
more preferably removed and the interface documented to reflect the need to
queue scsi_transfer structures instead.

The driver is conforming to the provided interface, but the implementation
of that interface is severely lacking.

>This has been
>pointed out numerous times, and you've resisted fixing the driver.

You don't see this problem in FreeBSD, yet it has (or had if you look at
the SCSI branch) this same interface.  Although this "bug" can be fixed in
every driver that exhibits this problem, the right fix is to fix the
generic layer, not every client of it.

>Now, you could argue that the interface should be changed, but that's
>a different matter.  And I've seen equally little cooperation on this;
>in the past, I've gone out of my way to inform the FreeBSD folks of
>changes I was making in the SCSI code, and the courtesy has not been
>returned.

Hmmm.  I've discussed my ideas with you in person.  I've discussed my ideas
and implementation details on NetBSD lists and with Jason Thorpe in person.
I've offered to port my work when its done to NetBSD so there can be a
single SCSI implementation.  My WIP is checked into the FreeBSD CVS tree
which you can either download or extract diffs from via our WEB interface.
I've even put a set of patchs up for ftp (they are pretty out of date now).
You read the patches, we discussed them for a bit, then the last thing I
heard from you was that they didn't conform to "your little world", so I
assumed you weren't interested.  If you really want to collaborate on this,
this is the first I've heard of it.  Every other attempt I've made to form
collaborations between NetBSD and FreeBSD developers, you've attempted to
shoot down, so it would really surprise me if you wanted to help.

If you are serios, I'm in Boston this week and we can talk about it in
person.  Regardless, this issue doesn't belong on the aic7xxx list, so this
is the last message from me on this issue that will go to that list.

My current plan is to change the FreeBSD SCSI system to be very  CAM like.
You can find the CAM specs at ftp.symbios.com.

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================