From: Rachita Kothiyal I have seen the cdrom drive appearing confused on using kdump on certain x86_64 systems. During the booting up of the second kernel, the following message would keep flooding the console, and the booting would not proceed any further. hda: cdrom_pc_intr: The drive appears confused (ireason = 0x01) In this patch, whenever we are hitting a confused state in the interrupt handler with the DRQ set, we clear the DSC bit of the status register and return 'ide_stopped' from the interrupt handler. Signed-off-by: Rachita Kothiyal Cc: Jens Axboe Signed-off-by: Andrew Morton --- drivers/ide/ide-cd.c | 5 +++++ 1 files changed, 5 insertions(+) diff -puN drivers/ide/ide-cd.c~fix-cdrom-being-confused-on-using-kdump drivers/ide/ide-cd.c --- devel/drivers/ide/ide-cd.c~fix-cdrom-being-confused-on-using-kdump 2006-04-07 21:48:32.000000000 -0700 +++ devel-akpm/drivers/ide/ide-cd.c 2006-04-07 21:48:32.000000000 -0700 @@ -1450,6 +1450,11 @@ static ide_startstop_t cdrom_pc_intr (id rq->sense_len += thislen; } else { confused: + if (( stat & DRQ_STAT) == DRQ_STAT) { + /* DRQ is set. Interrupt not welcome now. Ignore */ + HWIF(drive)->OUTB((stat & 0xEF), IDE_STATUS_REG); + return ide_stopped; + } printk (KERN_ERR "%s: cdrom_pc_intr: The drive " "appears confused (ireason = 0x%02x)\n", drive->name, ireason); _