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:
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 ?
It's double and triple checked. The model is correct: CRD-8480C Perhaps it is my DMA controller is frazzled then?
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 ;(
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
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 ;(
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?
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)
Intel Corporation 82371AB PIIX4 IDE (rev 01)
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
Also, i disabled dma with 'ide=nodma' passed to the kernel; cdrom access no longer locks the system.
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