Messages in this thread | | | Date | Sun, 26 Feb 2006 09:09:13 -0500 | From | Mark Lord <> | Subject | Re: hda: irq timeout: status=0xd0 DMA question |
| |
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.
Cheers
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |