Re: hda: irq timeout: status=0xd0 DMA question

From: Jesper Juhl
Date: Sun Feb 26 2006 - 09:12:54 EST


On 2/26/06, Mark Lord <lkml@xxxxxx> wrote:
> Nick Warne wrote:
> ..
> > Feb 19 14:05:31 quake kernel: hda: irq timeout: status=0xd0 { Busy }
> > Feb 19 14:05:31 quake kernel:
> > Feb 19 14:05:31 quake smartd[405]: Device: /dev/hda, not capable of SMART
> > self-check
> > Feb 19 14:05:31 quake smartd[405]: Sending warning via mail to
> > root@localhost ...
> > Feb 19 14:05:31 quake kernel: hda: status timeout: status=0xd0 { Busy }
> > Feb 19 14:05:31 quake kernel:
> > Feb 19 14:05:31 quake kernel: hda: DMA disabled
> > Feb 19 14:05:31 quake kernel: hda: drive not ready for command
> > Feb 19 14:05:33 quake kernel: ide0: reset: success
> ..
> > I dunno what happened to the drive that time (this is the only logs of the
> > incident) and I turned DMA back on with hdparm - but my question is why is
> > DMA turned off and then left off after a reset?
>
> When I wrote that code in the mid-1990s, the number one causes of drives
> getting confused (and needing to be reset again), were improper DMA timings,
> cablings, and buggy DMA firmware.
>
> So at the time, since DMA was a newish feature for IDE, we figured that
> turning it off after reset was a Good Thing(tm).
>
> And it was. A more modern implementation might try being more clever about
> such stuff, and Tejun is working on something like that for libata.
>
> In the meanwhile, you could have a shell script just loop in the background,
> turning DMA back on periodically. If you care.
>

Or how about an option for the IDE driver to "not do that" that people
could enable if needed/wanted?
Or just change the code to "not do that" since we are no longer in the
mid-1990s?

--
Jesper Juhl <jesper.juhl@xxxxxxxxx>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html
-
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/