Bug 9195 - TORiSAN "CD-ROM CDR_U200" for dma blacklist
Summary: TORiSAN "CD-ROM CDR_U200" for dma blacklist
Status: CLOSED CODE_FIX
Alias: None
Product: IO/Storage
Classification: Unclassified
Component: IDE (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Bartlomiej Zolnierkiewicz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-19 20:24 UTC by snowbat
Modified: 2007-11-23 06:05 UTC (History)
0 users

See Also:
Kernel Version: 2.6.24-rc2
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
add TORiSAN model: CD-ROM CDR_U200 fw: 1.09 to DMA blacklist (711 bytes, patch)
2007-11-20 15:21 UTC, Bartlomiej Zolnierkiewicz
Details | Diff

Description snowbat 2007-10-19 20:24:36 UTC
Distribution: Mandriva 2008.0
Hardware Environment: Dell Latitude CPi D266XT
Problem Description:

CD-ROM CDR_U200 does not function in DMA mode.  Can it be added to the dma blacklist?

http://www.google.com/search?q=cdr_u200+dma
Comment 1 Bartlomiej Zolnierkiewicz 2007-11-08 13:57:05 UTC
Sure, we can blacklist it but before doing so it may be worth to check something else - we know that the another TORiSAN drive (DVD-ROM DRD-N216) works fine with DMA if we limit the maximum sector number to 128 (from the default 256).

Please do (replace hdc by the correct device name for your system):

    echo "64">/sys/block/hdc/queue/max_sectors_kb

before trying to access cd drive and check if it helps.

dmesg command output, and the output of hdparm --Istdout command would also be helpful.  Thanks!
Comment 2 snowbat 2007-11-08 20:06:21 UTC
64 doesn't seem to help for this model.  Note: right now the laptop is running Mandriva 2007.1 (Spring) with /etc/sysconfig/harddiskhdc containing USE_DMA=0.

[root@dell ~]# uname -a
Linux dell 2.6.17-13mdv #1 SMP Fri Mar 23 19:03:31 UTC 2007 i686 Pentium II (Deschutes) GNU/Linux


[root@dell ~]# hdparm /dev/hdc

/dev/hdc:
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 HDIO_GETGEO failed: Inappropriate ioctl for device

(try to access CD - access good, reads fine)

[root@dell ~]# hdparm -d1 /dev/hdc

/dev/hdc:
 setting using_dma to 1 (on)
 using_dma    =  1 (on)

(try to access CD - reading noises, pause, spin down, spin up < (repeats))
/var/log/messages:
Nov  9 00:42:45 dell kernel: ide-cd: cmd 0x28 timed out
Nov  9 00:42:45 dell kernel: hdc: DMA interrupt recovery
Nov  9 00:42:45 dell kernel: hdc: lost interrupt
Nov  9 00:42:45 dell kernel: VFS: busy inodes on changed media.

[root@dell ~]# cat /sys/block/hdc/queue/max_sectors_kb
128
[root@dell ~]# echo "64" > /sys/block/hdc/queue/max_sectors_kb
[root@dell ~]# cat /sys/block/hdc/queue/max_sectors_kb
64

(try to access CD - reading noises, pause, spin down, spin up < (repeats))
/var/log/messages:
Nov  9 00:45:14 dell kernel: ide-cd: cmd 0x28 timed out
Nov  9 00:45:14 dell kernel: hdc: DMA interrupt recovery
Nov  9 00:45:14 dell kernel: hdc: lost interrupt
Nov  9 00:45:14 dell kernel: VFS: busy inodes on changed media.

[root@dell ~]# hdparm -d0 /dev/hdc

/dev/hdc:
 setting using_dma to 0 (off)
 using_dma    =  0 (off)

(try to access CD - access good, reads fine)


[root@dell ~]# dmesg
Linux version 2.6.17-13mdv (rtp@octopus.mandriva.com) (gcc version 4.1.2 2007030
2 (prerelease) (4.1.2-1mdv2007.1)) #1 SMP Fri Mar 23 19:03:31 UTC 2007
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000c0000 - 00000000000cc000 (reserved)
 BIOS-e820: 0000000000100000 - 0000000007ff0000 (usable)
 BIOS-e820: 0000000007ff0000 - 0000000008000000 (reserved)
 BIOS-e820: 00000000100a0000 - 00000000100c0000 (reserved)
 BIOS-e820: 00000000ffe00000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
127MB LOWMEM available.
On node 0 totalpages: 32752
  DMA zone: 4096 pages, LIFO batch:0
  Normal zone: 28656 pages, LIFO batch:7
DMI 2.3 present.
ACPI: RSDP (v000 DELL                                  ) @ 0x000fdf50
ACPI: RSDT (v001 DELL    CPi     0x27cf0601 ASL  0x00000061) @ 0x000fdf64
ACPI: FADT (v001 DELL    CPi     0x27cf0601 ASL  0x00000061) @ 0x000fdf8c
ACPI: DSDT (v001 INT430 SYSFexxx 0x00001001 MSFT 0x0100000b) @ 0x00000000
ACPI: PM-Timer IO Port: 0x808
Allocating PCI resources starting at 20000000 (gap: 100c0000:efd40000)
Built 1 zonelists
Kernel command line: BOOT_IMAGE=linux root=/dev/hda5  resume=/dev/hda6 splash=si
lent vga=788
bootsplash: silent mode.
Local APIC disabled by BIOS -- you can enable it with "lapic"
mapped APIC to ffffe000 (01109000)
Enabling fast FPU save and restore... done.
Initializing CPU#0
PID hash table entries: 512 (order: 9, 2048 bytes)
Detected 267.320 MHz processor.
Using pmtmr for high-res timesource
Console: colour dummy device 80x25
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 124892k/131008k available (2430k kernel code, 5568k reserved, 760k data,
 244k init, 0k highmem, 0k BadRAM)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 535.53 BogoMIPS (lpj=1071062)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 0183f9ff 00000000 00000000 00000000 00000000
00000000 00000000
CPU: After vendor identify, caps: 0183f9ff 00000000 00000000 00000000 00000000 0
0000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After all inits, caps: 0183f9ff 00000000 00000000 00000040 00000000 0000000
0 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
Freeing SMP alternatives: 16k freed
checking if image is initramfs... it is
Freeing initrd memory: 505k freed
ACPI: Looking for DSDT in initramfs... error, file /DSDT.aml not found.
ACPI: setting ELCR to 0200 (from 0800)
CPU0: Intel Pentium II (Deschutes) stepping 00
SMP motherboard not detected.
Local APIC not detected. Using dummy APIC emulation.
Brought up 1 CPUs
migration_cost=0
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfbbee, last bus=0
Setting up standard PCI resources
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] bus is 0
Boot video device is 0000:00:02.0
PCI quirk: region 0800-083f claimed by PIIX4 ACPI
PCI quirk: region 0840-084f claimed by PIIX4 SMB
PIIX4 devres B PIO at 00e0-00e7
PIIX4 devres C PIO at 0850-085f
PIIX4 devres G PIO at 0290-0297
PIIX4 devres I PIO at 0210-0217
PIIX4 devres J PIO at 0388-038b
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
ACPI: Power Resource [PUSB] (on)
ACPI: Power Resource [PFN0] (off)
ACPI: Power Resource [PFN1] (off)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 17 devices
PnPBIOS: Disabled
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
pnp: 00:02: ioport range 0x4d0-0x4d1 has been reserved
pnp: 00:02: ioport range 0x800-0x805 could not be reserved
pnp: 00:02: ioport range 0x808-0x80f could not be reserved
pnp: 00:03: ioport range 0xf400-0xf4bf has been reserved
pnp: 00:03: ioport range 0x806-0x807 has been reserved
pnp: 00:03: ioport range 0x850-0x853 has been reserved
pnp: 00:03: ioport range 0x856-0x85f has been reserved
pnp: 00:03: ioport range 0x810-0x83f has been reserved
pnp: 00:03: ioport range 0x840-0x84f has been reserved
pnp: 00:08: ioport range 0x3f0-0x3f1 has been reserved
PCI: Ignore bogus resource 6 [0:0] of 0000:00:02.0
PCI: Bus 1, cardbus bridge: 0000:00:03.0
  IO window: 00001000-000010ff
  IO window: 00001400-000014ff
  PREFETCH window: 20000000-21ffffff
  MEM window: 22000000-23ffffff
PCI: Bus 5, cardbus bridge: 0000:00:03.1
  IO window: 00001800-000018ff
  IO window: 00001c00-00001cff
  PREFETCH window: 24000000-25ffffff
  MEM window: 26000000-27ffffff
PCI: Enabling device 0000:00:03.0 (0000 -> 0003)
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ
 11
PCI: Enabling device 0000:00:03.1 (0000 -> 0003)
ACPI: PCI Interrupt 0000:00:03.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ
 11
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 2048)
TCP reno registered
* Found PM-Timer Bug on this chipset. Due to workarounds for a bug,
* this time source is slow.  Consider trying other time sources (clock=)
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: overridden by ACPI.
audit: initializing netlink socket (disabled)
audit(1194555288.860:1): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Limiting direct PCI/PCI transfers.
vesafb: framebuffer at 0xe1000000, mapped to 0xc8880000, using 1984k, total 1984
k
vesafb: mode is 800x600x16, linelength=1600, pages=1
vesafb: protected mode interface info at c000:8df0
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
bootsplash 3.1.6-2004/03/31: looking for picture...<6> silentjpeg size 197324 by
tes,<6>...found (800x600, 197276 bytes, v3).
Console: switching to colour frame buffer device 93x31
fb0: VESA VGA frame buffer device
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12ac
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 32000K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 0000:00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x0860-0x0867, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x0868-0x086f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: FUJITSU MHR2020AT, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: CD-ROM CDR_U200, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 512KiB
hda: 39070080 sectors (20003 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(33)
hda: cache flushes supported
 hda: hda1 hda2 < hda5 hda6 hda7 >
PNP: PS/2 Controller [PNP0303:KBC,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
mice: PS/2 mouse device common for all mice
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
TCP bic registered
NET: Registered protocol family 1
Using IPI No-Shortcut mode
ACPI wakeup devices:
 LID PBTN PCI0 UAR1 CARD
ACPI: (supports S0 S1 S3 S4 S5)
BIOS EDD facility v0.16 2004-Jun-25, 1 devices found
Freeing unused kernel memory: 244k freed
input: AT Translated Set 2 keyboard as /class/input/input0
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Synaptics Touchpad, model: 1, fw: 4.2, id: 0x844a1, caps: 0x0/0x0
input: SynPS/2 Synaptics TouchPad as /class/input/input1
ts: Compaq touchscreen protocol output
usbcore: registered new driver usbfs
usbcore: registered new driver hub
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt 0000:00:07.2[D] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ
 11
uhci_hcd 0000:00:07.2: UHCI Host Controller
uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:07.2: irq 11, io base 0x0000ece0
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
i8k: unable to get SMM Dell signature
Non-volatile memory driver v1.2
sonypi: Sony Programmable I/O Controller Driver v1.26.
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ
 11
Yenta: CardBus bridge found at 0000:00:03.0 [1028:0074]
Yenta: ISA IRQ mask 0x0418, PCI irq 11
Socket status: 30000010
ACPI: PCI Interrupt 0000:00:03.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ
 11
Yenta: CardBus bridge found at 0000:00:03.1 [1028:0074]
Yenta: ISA IRQ mask 0x0418, PCI irq 11
Socket status: 30000006
pccard: PCMCIA card inserted into slot 0
cs: IO port probe 0x100-0x3af: excluding 0x210-0x217 0x220-0x22f 0x290-0x297 0x3
78-0x37f 0x388-0x38f
cs: IO port probe 0x3e0-0x4ff: clean.
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: IO port probe 0x100-0x3af: excluding 0x210-0x217 0x220-0x22f 0x290-0x297 0x3
78-0x37f 0x388-0x38f
cs: IO port probe 0x3e0-0x4ff: clean.
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
pcmcia: registering new device pcmcia0.0
orinoco 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@
gnu.org>, et al)
orinoco_cs 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <pros
ki@gnu.org>, et al)
eth0: Hardware identity 0001:0001:0004:0000
eth0: Station identity  001f:0001:0006:0006
eth0: Firmware determined as Lucent/Agere 6.06
eth0: Ad-hoc demo mode supported
eth0: IEEE standard IBSS ad-hoc mode supported
eth0: WEP supported, 104-bit key
eth0: MAC address 00:01:F4:EC:6F:CF
eth0: Station name "HERMES I"
eth0: ready
eth0: orinoco_cs at 0.0, irq 3, io 0x0100-0x013f
SCSI subsystem initialized
libata version 1.20 loaded.
device-mapper: 4.6.0-ioctl (2006-02-17) initialised: dm-devel@redhat.com
EXT3 FS on hda5, internal journal
Adding 506008k swap on /dev/hda6.  Priority:-1 extents:1 across:506008k
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will b
e case sensitive!
loop: loaded (max 8 devices, max 1 partitions per device)
hdc: ATAPI 16X CD-ROM drive, 128kB Cache, DMA
Uniform CD-ROM driver Revision: 3.20
hdc: DMA disabled
bootsplash 3.1.6-2004/03/31: looking for picture...<6> silentjpeg size 197324 by
tes,<6>...found (800x600, 197276 bytes, v3).
bootsplash: status on console 0 changed to on
ACPI: AC Adapter [AC] (on-line)
ACPI: Battery Slot [BAT0] (battery present)
ACPI: Battery Slot [BAT1] (battery absent)
ACPI: Lid Switch [LID]
ACPI: Power Button (CM) [PBTN]
ACPI: Sleep Button (CM) [SBTN]
ACPI: Fan [FAN0] (off)
ACPI: Fan [FAN1] (off)
Using specific hotkey driver
ACPI: CPU0 (power states: C1[C1] C2[C2])
ACPI: Thermal Zone [THM] (27 C)
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
YM3812 and OPL-3 driver Copyright (C) by Hannu Savolainen, Rob Hooft 1993-1996
NET: Registered protocol family 17
ADDRCONF(NETDEV_UP): eth1: link is not ready
eth1: New link status: Disconnected (0002)
eth1: New link status: Connected (0001)
ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
eth1: no IPv6 routers present
bootsplash 3.1.6-2004/03/31: looking for picture...<6>...found (800x600, 14222 b
ytes, v3).
bootsplash: status on console 0 changed to on
bootsplash 3.1.6-2004/03/31: looking for picture...<6>...found (800x600, 14222 b
ytes, v3).
bootsplash: status on console 1 changed to on
bootsplash 3.1.6-2004/03/31: looking for picture...<6>...found (800x600, 14222 b
ytes, v3).
bootsplash: status on console 2 changed to on
bootsplash 3.1.6-2004/03/31: looking for picture...<6>...found (800x600, 14222 b
ytes, v3).
bootsplash: status on console 3 changed to on
bootsplash 3.1.6-2004/03/31: looking for picture...<6>...found (800x600, 14222 b
ytes, v3).
bootsplash: status on console 4 changed to on
bootsplash 3.1.6-2004/03/31: looking for picture...<6>...found (800x600, 14222 b
ytes, v3).
bootsplash: status on console 5 changed to on
ISO 9660 Extensions: Microsoft Joliet Level 3
ISO 9660 Extensions: RRIP_1991A
ide-cd: cmd 0x28 timed out
hdc: DMA interrupt recovery
hdc: lost interrupt
VFS: busy inodes on changed media.
ide-cd: cmd 0x28 timed out
hdc: DMA interrupt recovery
hdc: lost interrupt
VFS: busy inodes on changed media.
ide-cd: cmd 0x28 timed out
hdc: DMA interrupt recovery
hdc: lost interrupt
VFS: busy inodes on changed media.
hdc: DMA disabled


[root@dell ~]# hdparm --Istdout /dev/hdc

/dev/hdc:
 HDIO_DRIVE_CMD(identify) failed: Input/output error
[root@dell /]# hdparm -i /dev/hdc

/dev/hdc:

 Model=CD-ROM CDR_U200, FwRev=1.09, SerialNo=
 Config={ SpinMotCtl Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=0kB, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=on/off, tPIO={min:180,w/IORDY:180}, tDMA={min:150,rec:150}
 PIO modes:  pio0 pio1 pio2 pio3
 DMA modes:  sdma0 sdma1 sdma2 mdma0 *mdma1
 AdvancedPM=no

 * signifies the current active mode
Comment 3 Bartlomiej Zolnierkiewicz 2007-11-09 02:48:57 UTC
OK, thanks for testing.  Could you also try 2.6.23 (or 2.6.24-rc2) from kernel.org?  There were some bugfixes affecting DMA support in the last releases. 
Comment 4 snowbat 2007-11-11 10:43:02 UTC
In 2.6.24-rc2, 'VFS: busy inodes on changed media.' is no longer present but the drive shows the same problem as before:

[root@dell gar]# uname -a
Linux dell 2.6.24-rc2-custom1 #3 SMP Sun Nov 11 10:53:07 BRST 2007 i686 Pentium
II (Deschutes) GNU/Linux
[root@dell gar]# hdparm /dev/hdc

/dev/hdc:
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 HDIO_GETGEO failed: Inappropriate ioctl for device

(CD access good - reads fine)

[root@dell gar]# hdparm -d1 /dev/hdc

/dev/hdc:
 setting using_dma to 1 (on)
 using_dma    =  1 (on)

(CD access fails - reading noises, pause, spindown, spinup < repeat)
/var/log/messages:
Nov 11 16:08:22 dell kernel: ide-cd: cmd 0x28 timed out
Nov 11 16:08:22 dell kernel: hdc: DMA interrupt recovery
Nov 11 16:08:22 dell kernel: hdc: lost interrupt

[root@dell gar]# cat /sys/block/hdc/queue/max_sectors_kb
128
[root@dell gar]# echo "64" > /sys/block/hdc/queue/max_sectors_kb
[root@dell gar]# cat /sys/block/hdc/queue/max_sectors_kb
64

(CD access fails - reading noises, pause, spindown, spinup < repeat)
/var/log/messages:
Nov 11 16:11:05 dell kernel: ide-cd: cmd 0x28 timed out
Nov 11 16:11:05 dell kernel: hdc: DMA interrupt recovery
Nov 11 16:11:05 dell kernel: hdc: lost interrupt

[root@dell gar]# hdparm -d0 /dev/hdc

/dev/hdc:
 setting using_dma to 0 (off)
 using_dma    =  0 (off)

(CD access good - reads fine)

dmesg:
Linux version 2.6.24-rc2-custom1 (root@dell) (gcc version 4.1.2 20070302 (prerelease) (4.1.2-1mdv2007.1)) #3 SMP Sun Nov 11 10:53:07 BRST 2007
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000c0000 - 00000000000cc000 (reserved)
 BIOS-e820: 0000000000100000 - 0000000007ff0000 (usable)
 BIOS-e820: 0000000007ff0000 - 0000000008000000 (reserved)
 BIOS-e820: 00000000100a0000 - 00000000100c0000 (reserved)
 BIOS-e820: 00000000ffe00000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
127MB LOWMEM available.
Entering add_active_range(0, 0, 32752) 0 entries of 256 used
Zone PFN ranges:
  DMA             0 ->     4096
  Normal       4096 ->    32752
  HighMem     32752 ->    32752
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->    32752
On node 0 totalpages: 32752
  DMA zone: 32 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 4064 pages, LIFO batch:0
  Normal zone: 223 pages used for memmap
  Normal zone: 28433 pages, LIFO batch:7
  HighMem zone: 0 pages used for memmap
  Movable zone: 0 pages used for memmap
DMI 2.3 present.
ACPI: RSDP 000FDF50, 0014 (r0 DELL  )
ACPI: RSDT 000FDF64, 0028 (r1 DELL    CPi     27CF0601 ASL        61)
ACPI: FACP 000FDF8C, 0074 (r1 DELL    CPi     27CF0601 ASL        61)
ACPI: DSDT 07FF0000, 2932 (r1 INT430 SYSFexxx     1001 MSFT  100000B)
ACPI: FACS 07FFF800, 0040
ACPI: PM-Timer IO Port: 0x808
Allocating PCI resources starting at 20000000 (gap: 100c0000:efd40000)
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32497
Kernel command line: BOOT_IMAGE=linux-2.6.24-rc2-custom1 root=/dev/hda5  resume=/dev/hda6 splash=silent vga=788
Local APIC disabled by BIOS -- you can enable it with "lapic"
mapped APIC to ffffb000 (01109000)
Enabling fast FPU save and restore... done.
Initializing CPU#0
PID hash table entries: 512 (order: 9, 2048 bytes)
Detected 267.282 MHz processor.
Console: colour dummy device 80x25
console [tty0] enabled
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 125580k/131008k available (2185k kernel code, 4884k reserved, 758k data, 252k init, 0k highmem)
virtual kernel memory layout:
    fixmap  : 0xffe15000 - 0xfffff000   (1960 kB)
    pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
    vmalloc : 0xc8800000 - 0xff7fe000   ( 879 MB)
    lowmem  : 0xc0000000 - 0xc7ff0000   ( 127 MB)
      .init : 0xc03e6000 - 0xc0425000   ( 252 kB)
      .data : 0xc03225d0 - 0xc03dff04   ( 758 kB)
      .text : 0xc0100000 - 0xc03225d0   (2185 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 535.56 BogoMIPS (lpj=1071139)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 0183f9ff 00000000 00000000 00000000 00000000 00000000 00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After all inits, caps: 0183f9ff 00000000 00000000 00000040 00000000 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Compat vDSO mapped to ffffe000.
Checking 'hlt' instruction... OK.
SMP alternatives: switching to UP code
Freeing SMP alternatives: 12k freed
ACPI: Core revision 20070126
ACPI: setting ELCR to 0200 (from 0800)
CPU0: Intel Pentium II (Deschutes) stepping 00
SMP motherboard not detected.
Local APIC not detected. Using dummy APIC emulation.
Brought up 1 CPUs
CPU0 attaching sched-domain:
 domain 0: span 00000001
  groups: 00000001
net_namespace: 64 bytes
sysctl table check failed: /net/token-ring .3.14 procname does not match binary path procname
 [<c010524a>] show_trace_log_lvl+0x1a/0x30
 [<c0105d32>] show_trace+0x12/0x20
 [<c0105e46>] dump_stack+0x16/0x20
 [<c0142ff5>] set_fail+0x45/0x60
 [<c01432cc>] sysctl_check_table+0x2bc/0x5b0
 [<c01432e2>] sysctl_check_table+0x2d2/0x5b0
 [<c03f7879>] sysctl_init+0x19/0x20
 [<c03e65c2>] kernel_init+0x122/0x2f0
 [<c0104e2b>] kernel_thread_helper+0x7/0x1c
 =======================
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfbbee, last bus=0
PCI: Using configuration type 1
Setting up standard PCI resources
ACPI: EC: Look up EC in DSDT
ACPI: Interpreter enabled
ACPI: (supports S0 S1 S3 S5)
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
* Found PM-Timer Bug on the chipset. Due to workarounds for a bug,
* this clock source is slow. Consider trying other clock sources
PCI quirk: region 0800-083f claimed by PIIX4 ACPI
PCI quirk: region 0840-084f claimed by PIIX4 SMB
PIIX4 devres B PIO at 00e0-00e7
PIIX4 devres C PIO at 0850-085f
PIIX4 devres G PIO at 0290-0297
PIIX4 devres I PIO at 0210-0217
PIIX4 devres J PIO at 0388-038b
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
ACPI: Power Resource [PUSB] (on)
ACPI: Power Resource [PFN0] (off)
ACPI: Power Resource [PFN1] (off)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp: PnP ACPI: found 17 devices
ACPI: ACPI bus type pnp unregistered
PnPBIOS: Disabled by ACPI PNP
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
Time: tsc clocksource has been installed.
system 00:00: iomem range 0x0-0x9fbff could not be reserved
system 00:00: iomem range 0x9fc00-0x9ffff could not be reserved
system 00:00: iomem range 0xf0000-0xfffff could not be reserved
system 00:00: iomem range 0x100000-0x7feffff could not be reserved
system 00:02: ioport range 0x4d0-0x4d1 has been reserved
system 00:02: ioport range 0x800-0x805 has been reserved
system 00:02: ioport range 0x808-0x80f has been reserved
system 00:03: ioport range 0xf400-0xf4bf has been reserved
system 00:03: ioport range 0x806-0x807 has been reserved
system 00:03: ioport range 0x850-0x853 has been reserved
system 00:03: ioport range 0x856-0x85f has been reserved
system 00:03: ioport range 0x810-0x83f has been reserved
system 00:03: ioport range 0x840-0x84f has been reserved
system 00:08: ioport range 0x3f0-0x3f1 has been reserved
PCI: Bus 1, cardbus bridge: 0000:00:03.0
  IO window: 00001000-000010ff
  IO window: 00001400-000014ff
  PREFETCH window: 20000000-23ffffff
  MEM window: 24000000-27ffffff
PCI: Bus 5, cardbus bridge: 0000:00:03.1
  IO window: 00001800-000018ff
  IO window: 00001c00-00001cff
  PREFETCH window: 28000000-2bffffff
  MEM window: 2c000000-2fffffff
PCI: Enabling device 0000:00:03.0 (0000 -> 0003)
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:03.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
PCI: Enabling device 0000:00:03.1 (0000 -> 0003)
ACPI: PCI Interrupt 0000:00:03.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 49152 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
checking if image is initramfs... it is
Freeing initrd memory: 116k freed
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: overridden by ACPI.
audit: initializing netlink socket (disabled)
audit(1194796807.032:1): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Limiting direct PCI/PCI transfers.
Boot video device is 0000:00:02.0
vesafb: framebuffer at 0xe1000000, mapped to 0xc8880000, using 1875k, total 1984k
vesafb: mode is 800x600x16, linelength=1600, pages=1
vesafb: protected mode interface info at c000:8df0
vesafb: pmi: set display start = c00c8e26, set palette = c00c8e78
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
Console: switching to colour frame buffer device 100x37
fb0: VESA VGA frame buffer device
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Real Time Clock Driver v1.12ac
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 32000K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller (0x8086:0x7111 rev 0x01) at  PCI slot 0000:00:07.1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x0860-0x0867, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x0868-0x086f, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
hda: FUJITSU MHR2020AT, ATA DISK drive
hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
hda: UDMA 2 mode selected
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: CD-ROM CDR_U200, ATAPI CD/DVD-ROM drive
hdc: applying conservative PIO "downgrade"
hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO2
hdc: MW DMA 1 mode selected
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 512KiB
hda: 39070080 sectors (20003 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(33)
hda: cache flushes supported
 hda: hda1 hda2 < hda5 hda6 hda7 >
PNP: PS/2 Controller [PNP0303:KBC,PNP0f03:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard as /class/input/input0
TCP cubic registered
NET: Registered protocol family 1
Using IPI No-Shortcut mode
BIOS EDD facility v0.16 2004-Jun-25, 6 devices found
Freeing unused kernel memory: 252k freed
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Synaptics Touchpad, model: 1, fw: 4.2, id: 0x844a1, caps: 0x0/0x0
input: SynPS/2 Synaptics TouchPad as /class/input/input1
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
USB Universal Host Controller Interface driver v3.0
ACPI: PCI Interrupt 0000:00:07.2[D] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
uhci_hcd 0000:00:07.2: UHCI Host Controller
uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:07.2: irq 11, io base 0x0000ece0
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
i8k: unable to get SMM Dell signature
Non-volatile memory driver v1.2
sonypi: Sony Programmable I/O Controller Driver v1.26.
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Yenta: CardBus bridge found at 0000:00:03.0 [1028:0074]
Yenta: ISA IRQ mask 0x0418, PCI irq 11
Socket status: 30000010
Yenta: CardBus bridge found at 0000:00:03.1 [1028:0074]
Yenta: ISA IRQ mask 0x0418, PCI irq 11
Socket status: 30000006
pccard: PCMCIA card inserted into slot 0
ACPI: AC Adapter [AC] (off-line)
cs: IO port probe 0x100-0x3af: excluding 0x210-0x217 0x220-0x22f 0x290-0x297 0x378-0x37f 0x388-0x38f
cs: IO port probe 0x3e0-0x4ff: clean.
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: IO port probe 0x100-0x3af: excluding 0x210-0x217 0x220-0x22f 0x290-0x297 0x378-0x37f 0x388-0x38f
cs: IO port probe 0x3e0-0x4ff: clean.
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: memory probe 0xa0000000-0xa0ffffff: clean.
pcmcia: registering new device pcmcia0.0
ACPI: Battery Slot [BAT0] (battery present)
ACPI: Battery Slot [BAT1] (battery absent)
input: Lid Switch as /class/input/input2
ACPI: Lid Switch [LID]
input: Power Button (CM) as /class/input/input3
ACPI: Power Button (CM) [PBTN]
input: Sleep Button (CM) as /class/input/input4
ACPI: Sleep Button (CM) [SBTN]
ACPI: Fan [FAN0] (off)
ACPI: Fan [FAN1] (off)
ACPI: CPU0 (power states: C1[C1] C2[C2])
ACPI: Thermal Zone [THM] (46 C)
Marking TSC unstable due to: possible TSC halt in C2.
Time: acpi_pm clocksource has been installed.
device-mapper: ioctl: 4.12.0-ioctl (2007-10-02) initialised: dm-devel@redhat.com
Clocksource tsc unstable (delta = -192196738 ns)
EXT3 FS on hda5, internal journal
Adding 506008k swap on /dev/hda6.  Priority:-1 extents:1 across:506008k
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
loop: module loaded
hdc: ATAPI 16X CD-ROM drive, 128kB Cache, DMA
Uniform CD-ROM driver Revision: 3.20
hdc: DMA disabled
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
NET: Registered protocol family 17
hdc: MW DMA 1 mode selected
ide-cd: cmd 0x28 timed out
hdc: DMA interrupt recovery
hdc: lost interrupt
ide-cd: cmd 0x28 timed out
hdc: DMA interrupt recovery
hdc: lost interrupt
hdc: DMA disabled


[root@dell gar]# hdparm --Istdout /dev/hdc

/dev/hdc:
 HDIO_DRIVE_CMD(identify) failed: Input/output error
[root@dell gar]# hdparm -i /dev/hdc

/dev/hdc:

 Model=CD-ROM CDR_U200, FwRev=1.09, SerialNo=
 Config={ SpinMotCtl Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=0kB, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=on/off, tPIO={min:180,w/IORDY:180}, tDMA={min:150,rec:150}
 PIO modes:  pio0 pio1 pio2 pio3
 DMA modes:  sdma0 sdma1 sdma2 mdma0 *mdma1
 AdvancedPM=no

 * signifies the current active mode
Comment 5 Bartlomiej Zolnierkiewicz 2007-11-20 15:21:42 UTC
Created attachment 13662 [details]
add TORiSAN model: CD-ROM CDR_U200 fw: 1.09 to DMA blacklist

OK, thanks for testing and sorry about delay.

Please confirm that attached patch fixes the issue.
Comment 6 snowbat 2007-11-23 06:05:32 UTC
With patch applied to RC2, hdparm -d1 /dev/hdc now shows this:

/dev/hdc:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Input/output error
 using_dma    =  0 (off)

The drive is functioning normally with DMA off - patch fixes the issue for me.

Thanks for your great work and sorry for my delay in getting back to you.

Note You need to log in before you can comment on or make changes to this bug.