Subject: Re: kernel hang on boot/i386, atapi
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Manuel Bouyer <bouyer@chassiron.ensta.fr>
List: current-users
Date: 09/19/1997 18:59:57
On Sep 19, Jason Thorpe wrote
> It occurs to me that, if we know our controller caused the interrupt,
> wdcintr() should always return 1.  Else it should possibly return 0.
> I'm not sure of any drivers that actually return -1...
> 
> wdcintr() probably doesn't even need to care what wdc_ata_intr() and
> wdc_atapi_intr() return.
> 

Hum, I think that if we are waiting for an interrupt, but the drive is still
busy, then this one was perhaps not ours, then we should return 0. This test
is done in wdc_ata{,pi}_intr(), but could perhaps be moved to wdcintr.

The problem is that I actually uses the return value of wdc_atapi_intr
with another sementic (tranfer done/not done, for polled commands).
I'll have a look at all this this week-end.

--
Manuel Bouyer, LIP6, Universite Paris VI.
email: bouyer@rp.lip6.fr
       bouyer@ensta.fr
--