Subject: Re: dev/scsipi/ch.c:chattach() fix ? (and approval for commit?)
To: Stoned Elipot <seb@ssr.univ-paris7.fr>
From: Charles M. Hannum <abuse@spamalicious.com>
List: tech-kern
Date: 06/17/2004 03:12:49
On Thursday 17 June 2004 01:28, Stoned Elipot wrote:
> On Thu, Jun 17, 2004 at 12:41:03AM +0000, Charles M. Hannum wrote:
> [SNIP]
>
> > Nope. The problem is that ch_interpret_sense() is eating the UNIT
> > ATTENTION.
>
> Hum so...
> I'm surely not understanding the issue(s) but I tried the following patch
> (ie without the dummy scsipi_test_unit_ready() call) and now it reads:
I was on my way out when I wrote that earlier.
I would just remove this block of code in ch.c:
if ((periph->periph_flags & PERIPH_OPEN) == 0) {
/*
* if the device is not yet open, we can ignore this
* information.
*/
return (0);
}
That should fix the problem by letting the normal mid-layer code retry the
command.
Really, I don't understand why that code was ever written, given that it
couldn't have done anything before (because the TEST UNIT READY had *always*
been there to absorb the UNIT ATTENTION).