Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 May 1999 21:43:35 -0600
From:      Warner Losh <imp@harmony.village.org>
To:        Stephen McKay <syssgm@detir.qld.gov.au>
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: aha1542 brokenness, and CAM technique query 
Message-ID:  <199905240343.VAA16346@harmony.village.org>
In-Reply-To: Your message of "Sun, 23 May 1999 22:25:01 %2B1000." <199905231225.WAA05009@nymph.detir.qld.gov.au> 
References:  <199905231225.WAA05009@nymph.detir.qld.gov.au>  

next in thread | previous in thread | raw e-mail | index | archive | help
In message <199905231225.WAA05009@nymph.detir.qld.gov.au> Stephen McKay writes:
: Big deal, you say?  Well, the true answer is that aha_cmd() is broken,
: and there is no easy fix that I know of.  Fiddling with splcam() is not
: sufficient.  aha_cmd() should not be called if there are any other scsi
: commands in flight.  Otherwise, AOP_START_MBOX might be issued in the
: *middle* of another command.  This is impossible with the 1542 since
: there is just one shared command and parameter port, and the two colliding
: commands fail.  Lucky that, since issuing random scsi commands is a
: file system scrambler.

Yuck.  I suspect that the buslogic will have same problem.  Also,
Justin keeps telling me that I need to merge his changes from bt_cmd.
One of the things it does is to check the interrupt status while
sending commands, but it doesn't seem to try any interlocking.  I
don't know if the buslogic boards have a similar limitation or not.

: So, either I implement some sort of mutex in the bowels of the driver,
: or there is a simple way of telling CAM to single thread things for
: a while.  Please, CAM experts, let me know if this is easy.  Otherwise,
: I will do it the hard way.

I suspect that Justin will have something to say about that :-)

Warner


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




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