Bug 5581 - CD DMA timout panic in ide-iops.c
Summary: CD DMA timout panic in ide-iops.c
Status: RESOLVED CODE_FIX
Alias: None
Product: IO/Storage
Classification: Unclassified
Component: IDE (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Bartlomiej Zolnierkiewicz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-10 01:00 UTC by Nick Battle
Modified: 2007-06-05 06:28 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.8, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Nick Battle 2005-11-10 01:00:52 UTC
Most recent kernel where this bug did not occur: 2.4?
Distribution: SuSE 9.2, but running standard kernels after 2.6.8
Hardware Environment: Intel AL440LX board, Mitsumi ATAPI FX260S CD-ROM
Software Environment: 
Problem Description:

Accessing the CD-ROM with DMA enabled panics the kernel precisely one minute
after the operation (eg. od -x </dev/hdc, or a mount attempt). Disabling DMA,
either with hdparm, or with ide=nodma, avoids the problem.

This is the same as RedHat bug 115458 - the stack traces are identical, though
some of the fine details change from kernel version to version. Comment #25 in
the URL below from Alan Cox suggests something related was fixed in RHEL4,
though I see their bug is still open so perhaps that wasn't the fix for this.

https://bugzilla.redhat.com/bugzilla/long_list.cgi?buglist=115458

The panic in 2.6.14 is reported at ide-iops.c:949. The stack trace is the same
as RedHat's bug (and has been the same in all versions since 2.6.8, apart from
the fine details):

kernel BUG at drivers/ide/ide-iops.c:949
invalid operand: 0000 [#1]
...
cdrom_start_read_confirmation + 0x12e/0x1f0
cdrom_start_packet_command + 0x0/0b0
cdrom_timer_expiry + 0x0/0x80
idle_do_rw_cdrom
start_request
etc...


Steps to reproduce:

Boot system with DMA enabled for CD-ROM device. Attempt to read CD. Read never
completes, and system panics after 60 seconds. The code does include a 60 second
timeout, and the stack suggests the problem is related to mishandling that event(?).
Comment 1 Andrew Morton 2005-11-11 02:52:21 UTC
Jens, that's here:

        if(hwgroup->handler)
                BUG();

in ide_execute_command()
Comment 2 Adrian Bunk 2006-08-16 15:20:35 UTC
Alan, Jens, what is the status of this issue?
Comment 3 Nick Battle 2006-08-24 05:28:26 UTC
Unfortunately, the machine I had which was able to reproduce this problem has
since died, so I am unable to verify whether it still occurs in recent kernels
(same excuse for bug 5568).

The RedHat bug
(https://bugzilla.redhat.com/bugzilla/show_activity.cgi?id=115458) is still
open, though against FC4 which is quite old.

Comment 4 Alan 2007-06-05 06:28:47 UTC
Was fixed upstream long ago 

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