Re: 2.4.21-rc5: DMA disabled for IDE Cdrom, works with 2.4.20
Carl-Daniel Hailfinger (c-d.hailfinger.kernel.2003@gmx.net)
Wed, 28 May 2003 00:43:15 +0200
frahm@irsamc.ups-tlse.fr wrote:
> 2.4.21-rc5: DMA disabled for IDE Cdrom, works with 2.4.20
>
>
> I cannot use DMA for my IDE Cdrom (/dev/hdb) with kernel version 2.4.21-rc5
> (same problem with 2.4.21-rc1, 2.4.21-rc2, 2.4.21-rc3, 2.4.21-rc4 and
> 2.4.21-rc2-ac3).
> When I activate DMA by "hdparm -d1 /dev/hdb" (or by using the appropriate
> config-options for compiling the kernel) this seems to work but when I try to
> mount a standard iso-cdrom the machine is blocked for about 15-20 seconds
> and DMA on /dev/hdb is disabled (but the mount has succeeded).
> The kernel provides the following messages (dmesg-output):
>
> hdb: DMA interrupt recovery
> hdb: lost interrupt
> hdb: status timeout: status=0xd0 { Busy }
> hdb: status timeout: error=0x00
> hdb: DMA disabled
> hdb: drive not ready for command
> hdb: ATAPI reset complete
> ISO 9660 Extensions: RRIP_1991A
>
> Sometimes the mount attempt may actually completely freeze the system
> instead of only disabling DMA. I have the impression that this happens when
> it coincides with some hard-disk activity. In principle, DMA for the
> harddisk alone (on /dev/hda) seems to work properly.
>
> I have an ASUS-P3B-F motherboard with a PIII 500 Mhz and an Intel PIIX4
> chipset (the manual gives PIIX4E chipset, more details in dmesg-output
> appended below). I did NOT configure Local APIC and put PIIXn
> chipset support in the kernel. I understand that there may be some
> hardware-problem/bug but DMA for the cdrom (and harddisk) works correctly
> with the latest stable kernel versions 2.4.20 / 2.2.25.
> (I have also an SCSI CD-writer on an Adaptec AHA-7850 SCSI-adapter which
> seems to work fine with the aic7xxx-driver.)
>
> Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> PIIX4: IDE controller at PCI slot 00:04.1
> PIIX4: chipset revision 1
> PIIX4: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:DMA
> ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:pio, hdd:pio
> hda: WDC WD136AA, ATA DISK drive
> hdb: SONY CDU4811, ATAPI CD/DVD-ROM drive
> blk: queue c038ec20, I/O limit 4095Mb (mask 0xffffffff)
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> hda: attached ide-disk driver.
> hda: host protected area => 1
> hda: 26564832 sectors (13601 MB) w/2048KiB Cache, CHS=1653/255/63, UDMA(33)
> hdb: attached ide-cdrom driver.
> hdb: ATAPI 48X CD-ROM drive, 120kB Cache
> Uniform CD-ROM driver Revision: 3.12
> Partition check:
> hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 hda9 hda10 >
[...]
> hdb: DMA interrupt recovery
> hdb: lost interrupt
> hdb: status timeout: status=0xd0 { Busy }
> hdb: status timeout: error=0x00
> hdb: DMA disabled
> hdb: drive not ready for command
> hdb: ATAPI reset complete
> ISO 9660 Extensions: RRIP_1991A
> CONFIG_IDE=y
> CONFIG_BLK_DEV_IDE=y
> CONFIG_BLK_DEV_IDEDISK=y
> CONFIG_IDEDISK_MULTI_MODE=y
> CONFIG_BLK_DEV_IDECS=m
> CONFIG_BLK_DEV_IDECD=y
> CONFIG_BLK_DEV_IDEFLOPPY=m
> CONFIG_BLK_DEV_IDESCSI=m
> CONFIG_BLK_DEV_CMD640=y
> CONFIG_BLK_DEV_IDEPCI=y
> CONFIG_BLK_DEV_GENERIC=y
> CONFIG_IDEPCI_SHARE_IRQ=y
> CONFIG_BLK_DEV_IDEDMA_PCI=y
> CONFIG_IDEDMA_PCI_AUTO=y
Please disable 'Use PCI DMA by default when available'
(CONFIG_IDEDMA_PCI_AUTO) in your kernel config, enable DMA with hdparm
after bootup and report back.
> CONFIG_BLK_DEV_IDEDMA=y
> CONFIG_BLK_DEV_ADMA100=y
> CONFIG_BLK_DEV_PIIX=y
The above should fix your hangs.
HTH,
Carl-Daniel
-
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/