Subject: Re: how do I tell if I'm on the interrupt stack?
To: Jason R Thorpe <thorpej@wasabisystems.com>
From: Matthew Jacob <mjacob@feral.com>
List: tech-kern
Date: 09/05/2001 15:43:37
Oh- and the reason this all came up (because this has been working peachy for
a while) is that I finally started to look at the tape driver issues I've
promised to do for a while, and my 8200 connected to a Qlogic 1040 on a pc164
immediately gives BUSY status as it recovers from a bus reset (instead of a
plain old 'NOT READY (in process of becoming ready)' that modern drives would
do).

This then triggered the scsipi code to do a periph freeze and a timed thaw
which cauesd the isp drivers isprequest entry point to be re-entered from
hardclock- which then also hit the point of running a mailbox command to set
target parameters. Boom.

Note that if isprequest is re-entered for queueing while from isp's interrupt,
the mark of "don't use tsleep" can be known. But the assumption that I could
only be called from interrupt (clock or otherwise) if I knew about it was
clearly bad. Grumble.

-matt