On Apr 6, 2005 1:41 PM, Richard B. Johnson <[EMAIL PROTECTED]> wrote: > On Tue, 5 Apr 2005, Julien Wajsberg wrote: > > > On Apr 5, 2005 4:10 PM, Richard B. Johnson <[EMAIL PROTECTED]> wrote: > >> On Tue, 5 Apr 2005, Julien Wajsberg wrote: > >> > >>> On Mar 26, 2005 12:59 AM, Julien Wajsberg <[EMAIL PROTECTED]> wrote: > >>>> I own an Asus A8N-Sli motherboard with the Nforce4-Sli chipset, and I > >>>> experiment the following problem : > >>>> > >>>> Mar 25 22:42:55 evenflow kernel: hda: dma_timer_expiry: dma status == > >>>> 0x60 > >>>> Mar 25 22:42:55 evenflow kernel: hda: DMA timeout retry > >>>> Mar 25 22:42:55 evenflow kernel: hda: timeout waiting for DMA > >>>> Mar 25 22:42:55 evenflow kernel: hda: status error: status=0x58 { > >>>> DriveReady SeekComplete DataRequest } > >>>> Mar 25 22:42:55 evenflow kernel: > >>>> Mar 25 22:42:55 evenflow kernel: ide: failed opcode was: unknown > >>>> Mar 25 22:42:55 evenflow kernel: hda: drive not ready for command > >>>> Mar 25 22:42:55 evenflow kernel: hda: status timeout: status=0xd0 { Busy > >>>> } > >>>> Mar 25 22:42:55 evenflow kernel: > >>>> Mar 25 22:42:55 evenflow kernel: ide: failed opcode was: unknown > >>>> Mar 25 22:42:55 evenflow kernel: hdb: DMA disabled > >> ^^^^^^^^^^^^^^^^^ > >>>> Mar 25 22:42:55 evenflow kernel: hda: drive not ready for command > >>>> > >>>> Of course, if I disable DMA with hdparm, this problem disappear.. but > >>>> it isn't a long-term solution ;-) > >>>> > >> > >> The long-term solution is to replace either the drive, cable, or the > >> motherboard that can't do DMA. > > It's a recent drive that did ultra DMA on another motherboard, and a > > recent motherboard with a cable that did ultra DMA before.It was ultra > > DMA2 on this old motherboard, but it still was ultra DMA. > > > >> A bad DMA operation can write data > >> anywhere (right into the middle of the kernel). There isn't > >> anything software can do about it. Software sets up the > >> controller for a DMA operation, then waits for an interrupt > >> that tells it has completed or failed. Software can retry failed > >> operations until software gets destroyed by the hardware, but > >> there isn't anything else that can be done. > >> > >> The fact that disabling DMA makes the problem(s) go away is > >> proof that it isn't a software problem. There are flash-RAM > >> devices that emulate IDE drives. Most of these can't do DMA > >> and the IDE driver doesn't accept that fact. That is a known > >> bug. One needs to use hdparm to tell it to stop trying to > >> use DMA. In your case, the driver stopped using DMA when > >> it found out that it didn't work. There is no bug.
There still can be a bug in setting up DMA timings etc. It is hard to even guess as you haven't given any details about your system: dmesg/hdparm/lspci/config... (or I overlooked it somehow). > > In my case, the driver stopped for hdb, that is my dvd-burner/player. > > It did nothing for hda or hdc, I had to disable DMA myself. > > > > Will I have to install Windows XP to prove ultra DMA works correctly > > on this setup ? I really don't hope... That would be very helpful. Another useful thing would be to try non-nVidia motherboard (if you have one handy) without changing anything else. Bartlomiej - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/