Re: [PATCH] Re: sleeping in scsi EH

Brian King
2005-05-27T17:35:30Z

Jeff Garzik wrote:
> Brian King wrote:
>
>>Jeff Garzik wrote:
>>
>>
>>>Christoph Hellwig wrote:
>>>
>>>
>>>
>>>>On Fri, May 27, 2005 at 04:37:29AM -0400, Jeff Garzik wrote:
>>>>
>>>>
>>>>
>>>>
>>>>>Christoph Hellwig wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>You can sleep in them. You must however release the host lock and enable
>>>>>>irqs first and reverse that before returning. The error handlers don't
>>>>>>need the host lock, but we're stuck with the unfortunate calling convention
>>>>>>for now.
>>>>>
>>>>>Why are we stuck with this calling convention, when everyone who cares
>>>>>circumvents it?
>>>>
>>>>
>>>>Because no one found the time to do a full transition yet. If you want to
>>>>update all scsi drivers feel free. One patch per method please.
>>>
>>>
>>Jeff,
>>
>>Please add the following patch to your eh_abort locking patch for the ipr driver.
>>It fixes a race condition your patch would introduce. Thanks.
>
>
> Which race is introduced? The SCSI EH does a lot of synchronization for
> you...

I could get an interrupt from the adapter signaling a fatal error, which then prompts
ipr to reset the card by running BIST on it. The in_reset_reload indicates ipr is
currently doing this. While the card is running BIST, very bad things happen if you
try to do mmio's to the card, which is why I need to check this flag and send the
abort to the adapter while holding the host lock.

Brian

--
Brian King
eServer Storage I/O
IBM Linux Technology Center