Re: [BUG] ide dma_timer_expiry, then hard lockup

From: Linas Vepstas
Date: Mon Jun 18 2007 - 16:46:20 EST


On Mon, Jun 18, 2007 at 09:27:04PM +0100, Alan Cox wrote:
> > 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/