Re: [BUG] ide dma_timer_expiry, then hard lockup

Sergei Shtylyov
2007-06-19T15:49:46Z

Mark Lord wrote:

>>>>>> I can prepare a patch, but only with a lot of guidance. I can test
>>>>>> & debug, I'm highly motivated just right now ...

>>>>> If you've got a nice repeatable problem please try using the libata
>>>>> driver. That handles the error paths differently and doesn't try a
>>>>> FIFO
>>>>> drain which might matter in this case I guess.

>>>> FIFO drain for DMA commands?

>>> Welcome to the old IDE layer which I am so glad I left behind 8)

>>> ide_ata_error will try and do a PIO flush regardless of the command type
>>> if DRQ_STAT is asserted. See ide_dma_intr -> ide_error -> ...

>> Indeed... but the thing is we don't know what's asserted in this
>> case -- remember, it's reading the status register that locks
>> everything up...

> Exactly. And IORDY shouldn't really apply there,
> unless some nitwit standards person wrote it into a spec..

Wrote what? IORDY throttling does *apply* to both data and non-data
register accesses, of course.

> -ml

MBR, Sergei