Bug 57512

Summary: IDE DMA problem with CDROM model
Product: [Retired] Red Hat Linux Reporter: Need Real Name <meyerdg>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED CURRENTRELEASE QA Contact: Aaron Brown <abrown>
Severity: low Docs Contact:
Priority: medium    
Version: 7.2CC: alan
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-06-07 23:34:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2001-12-14 18:23:52 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:0.9.4) Gecko/20010913

Description of problem:
Found an article which then refered me here to report the 'bug'. Please
consider adding this CDROM model to the 'DMA blacklist' I've had all sorts
of problems with it before disabling DMA.

$ cat /proc/ide/hdc/model
CRD-8480C

This is an OEM part for an IBM PC 300 PL - 6862 AG8

Article is at: http://www.exocore.com/technologies/linux/rhl71dma/

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.Boot normally
2.mount /dev/cdrom
3.wait a looonnnggg time.... maybe get your prompt back, maybe not, good
luck doing anything with it.
	

Actual Results:  I ended up with a sometimes working sometimes not working
cd rom drive. 

Expected Results:  I should have been able to cd to /mnt/cdrom and see the
contents of my CD

Additional info:

Comment 1 Karsten Hopp 2001-12-17 10:09:30 UTC
I'll reassign this to the kernel maintainer.
Note:
There are entries
        { "CRD-8400B"           ,       "ALL"           },
        { "CRD-8480B",                  "ALL"           },
        { "CRD-8480C",                  "ALL"           },
        { "CRD-8482B",                  "ALL"           },
in ide/ide-dma.c. Is it sure that CRD- isn't a typo and CDR- was meant ?




Comment 2 Need Real Name 2001-12-17 17:29:31 UTC
It's double and triple checked. The model is correct: CRD-8480C
Perhaps it is my DMA controller is frazzled then?

Comment 3 Arjan van de Ven 2002-01-04 10:27:29 UTC
The drive is in the "don't do DMA" list... hmmmm
could you do "hdparm -d0 /dev/cdrom" and then mount it ?
if that works then something is ignoring the list ;(

Comment 4 Need Real Name 2002-01-04 15:16:42 UTC
I did that and it works like a charm. I'm wondering what sort of advantage DMA
would have given me. :P But as it never worked I guess I'll never know. It might
also be that this machine was originally designed for either Win98 or WinNT4 (or
perhaps WinCEMENT ;) ) I also saw a ticket related to this command and added the
command (or similar) to the init scripts. Of course when/if I switch the drives
about, that might be something I forget to change. I'd like for it to
automatically detect if the drive should not do DMA? Is it normally part of
startup or is it in the kernel whether a drive gets DMA or not? If its internal
to the kernel, maybe a recompile is in order? Thanks for your help! Duane

Comment 5 Arjan van de Ven 2002-01-04 15:22:02 UTC
There is a way to ask a device if it can do dma. And linux uses that;
unfortionatly lots of cdrom drives LIE about it ;(

Comment 6 Need Real Name 2002-01-04 15:34:18 UTC
So, is there a way to check if my drive is lying? Some command to run to see if
it thinks it can do DMA? I thought from earlier in this bug that the kernel had
a "don't ask, don't tell" sort of policy with drives that are "on the list".
Does that mean I have to do something like recompile the kernel with newer code
perhaps to see if that fixes this problem? Or is the best fix to add the command
to the init scripts?

Comment 7 Arjan van de Ven 2002-01-04 15:38:04 UTC
Unfortionatly most drives just lock up the entire IDE bus when dma gets used...

the list indeed means "no even if the device says so" but it appears that not
all low level IDE drivers actually listen well. Do you have any idea what kind
of IDE controller is involved ?
(lspci output will tell me if you're unsure)

Comment 8 Need Real Name 2002-01-04 16:34:22 UTC
Intel Corporation 82371AB PIIX4 IDE (rev 01)

Comment 9 Need Real Name 2002-03-18 22:26:33 UTC
I have the same issue, with the ide cd-rom in a IBM 3500m20 server.
'cat /proc/ide/hda/model' results in 'CRD-8400B'

'lspci' reports ServerWorks CNB20LE Host Bridge...
 and a ServerWorks OSB4 IDE Controller

Comment 10 Need Real Name 2002-03-18 22:28:03 UTC
Also, i disabled dma with 'ide=nodma' passed to the kernel; cdrom access no
longer locks the system.

Comment 11 Alan Cox 2003-06-07 23:34:07 UTC
We fixed several read IDE DMA corner cases in later kernels. If this bug is
still true of 2.4.18+ errata then please feel free to re-open the bug