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>