Linux: IDE CD problem with kernel 2.4.21pre4 to 2.6.7

I had Mandrake Linux 9.1 running fineon a Dell Optiplex PIII-550 Mhz. The system had a Mitsumi CDR-2801TEon hdc, running with SCSI over IDE emulation.When the time came to upgrade toMandrake Linux 10.0 Final, I booted up CD1 and it loaded fine, untilthe stage where it tries to access the CD and mount it. At thispoint, the kernel halted with the following error:Kernel BUG at drivers/ide/ide-ops.c:1005! ....<0> Kernel panic: Fatal exception in interuptIn interupt handler - not syncing" I did some investigation on the web, and found that several otherpeople on various forums and mailing lists complaining about the sameexact thing.None of them had anyone reply with a solution.

Upon further investigation, I found that this is not Mandrakespecific, nor is it 2.6.x specific. It was introduced along withchanges in IDE in 2.4.21pre4.Here is what Alan Cox added these: Linux 2.4.21pre4-ac2o Turn on use of ide_execute_command everywhere (Ross Biro, me)o First cut at settings locking for IDE (me)Linux 2.4.21pre4-ac1o Finish the ide_execute_command code (me)o Switch ide-cd to ide_execute_command (me)The offending code is in drivers/ide/ide-iops.c: void ide_execute_command(ide_drive_t *drive, task_ioreg_t cmd, ide_handler_t *handler, unsigned timeout, ide_expiry_t *expiry){ unsigned long flags; ide_hwgroup_t *hwgroup = HWGROUP(drive); ide_hwif_t *hwif = HWIF(drive); spin_lock_irqsave(&ide_lock, flags); if(hwgroup->handler) BUG(); hwgroup->handler = handler; hwgroup->expiry = expiry; hwgroup->timer.expires = jiffies + timeout; add_timer(&hwgroup->timer); hwif->OUTBSYNC(drive, cmd, IDE_COMMAND_REG); /* Drive takes 400nS to respond, we must avoid the IRQ being serviced before that. FIXME: we could skip this delay with care on non shared devices */ ndelay(400); spin_unlock_irqrestore(&ide_lock, flags);}Note that different kernel versions will report a different line number, but it is the same function. No solution is feasible so far, short of swapping the drive. I ended up doing just that, after I sent an email to Jens Axboe, the maintainer of the IDE CD-ROMdrivers in the kernel on 2.6.x, but did not get an answer for severalweeks.Like others have done, I solved the problem byreplacing the Mitsumi CD-R with a Ricoh CD-RW MP7040A . Worked thefirst time without a problem. I could proceed and install Mandrake10.0 normally. No other hardware modifications or BIOS or cabling atall.

Contents: