Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Jan 1996 09:24:35 -0800
From:      "Justin T. Gibbs" <gibbs@freefall.freebsd.org>
To:        "Mike Pritchard" <mpp@mpp.minn.net>
Cc:        freebsd-hackers@freebsd.org, freebsd-scsi
Subject:   Re: Can't take dumps w/Adaptec 2842 
Message-ID:  <199601201724.JAA06649@freefall.freebsd.org>
In-Reply-To: Your message of "Sat, 20 Jan 1996 08:50:16 CST." <199601201450.IAA00247@mpp.minn.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
>I noticed a while back that I couldn't take a dump after 
>a crash.  Today I finally decided to track down the reason
>for that.  It appears that the Adaptec 2842 driver (aic7xxx)
>and sddump don't quite agree on some return codes.
>
>The dump fails with an ENXIO error because it gets a SUCCESSFULLY_QUEUED
>return code (retval = 0) from the aic7xxx driver, and it is expecting to 
>get a COMPLETE return code.  Could someone who understands this code
>better than I do please take a look into this?

Here's the story.  The aic7xxx driver doesn't poll anymore.  The
reason it doesn't poll is because its slower, not necessary during
normal operation, and would cause massive confusion if you re-probed
your SCSI bus with interrupts enabled since the SCSI code would
tell you not to sleep.  Now the problem is that sddump wants you
to poll since interrupts may well be disabled.  I have no problem
putting polling back in for this one case so long as its differentiated
from the other times that SCSI_NOSLEEP is used.  Perhaps we need
a new flag?  I'd like SCSI_NOSLEEP to mean "calling tsleep may not
be safe" and perhaps SCSI_POLL (only used during sddump) would
cause drivers to disable there interrupt (just in case) and poll
until complete.

Furthermore, I'd like to change the way resorces are reserved so that
everything is allocated when we can always sleep.  This wouldn't
be very difficult to do (getting a scsi_xfer calls into the driver
to "attach" the driver's per transaction resource to the scsi_xfer).
This would kill the SCSI_NOSLEEP flag.

>--
>Mike Pritchard
>mpp@minn.net
>"Go that way.  Really fast.  If something gets in your way, turn"

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



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