Судя по всему, именно эта ошибка DMA вызывает задержки:
| KERNEL: hda:
| KERNEL: hda: ide_dma_sff_timer_expiry: DMA status (0x21)
| KERNEL: hda: DMA timeout error
| KERNEL: hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
| KERNEL: hda: possibly failed opcode: 0xc8
| KERNEL: hda: DMA disabled
| KERNEL: ide0: reset: success
Насчёт вышеуказанной ошибки, из гугла удалось выяснить следующее:
On further examination, and reading the links and messages at the link above, it seems some/many CF readers and CF adapters do not support DMA. One option mentioned was to turn off DMA in the BIOS, but as mentioned also, it slows down disk access for the machine in general, unless the BIOS has DMA on/off options individually for each hardware system (PCI, IDE, etc..).
Код: Выделить всё
ide-core.nodma= [HW] (E)IDE subsystem
Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc
.vlb_clock .pci_clock .noflush .noprobe .nowerr .cdrom
.chs .ignore_cable are additional options
See Documentation/ide/ide.txt.
libata.dma= [LIBATA] DMA control
libata.dma=0 Disable all PATA and SATA DMA
libata.dma=1 PATA and SATA Disk DMA only
libata.dma=2 ATAPI (CDROM) DMA only
libata.dma=4 Compact Flash DMA only
Combinations also work, so libata.dma=3 enables DMA
for disks and CDROMs, but not CFs.
The above are just two examples/sections of the file '/Documentation/kernel-parameters.txt' which you find in the kernel source (for me it's 2.6.30) and the second one looks like what you want. The options are for use in your lilo.conf or grub.menu or wherever it is you set your boot parameters (maybe in your initrd?)
То есть, драйвер тут не причём и не стоит его менять
Нужно отломать DMA-режим, когда грузишься с этой карточки, и будет тебе счастье.