Thread (28 messages) read the whole thread 28 messages, 6 authors, 2007-06-29

Re: [BUG] ide dma_timer_expiry, then hard lockup

From: Linas Vepstas <hidden>
Date: 2007-06-18 20:46:19
Also in: lkml

On Mon, Jun 18, 2007 at 09:27:04PM +0100, Alan Cox wrote:
quoted
ide_dma_timeout_retry() in ide-io.c 
  prints the "hdc: DMA Timeout error" then calls
  HWIF(drive)->ide_dma_end(drive);
    which returns, and then calls 
  hwif->INB(IDE_STATUS_REG) which is needed as an argument to ide_error()

But this hangs! -- The INB never returns.
Now:  hwif->INB = ide_inb; in ide-iops.c
Yep and the I/O cycle never completes so the box hangs. This occurs if
the drive blows up and never switches IORDY to indicate completion. The
hpt will also do this sometimes if it gets addled by a confused drive,
while an intel one often won't.
So what do you suggest? (I could buy an alternate ide controller,
and hope that goes away, or just buy a different hard drive. But
that's beside the point).

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

--linas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help