Browse Source

[PATCH] Fix cdrom being confused on using kdump

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 end the request and return ide_stopped.  Using
this I dont see the status error.

Signed-off-by: Rachita Kothiyal <rachita@in.ibm.com>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Rachita Kothiyal 19 years ago
parent
commit
1ad5544098
1 changed files with 4 additions and 1 deletions
  1. 4 1
      drivers/ide/ide-cd.c

+ 4 - 1
drivers/ide/ide-cd.c

@@ -1451,9 +1451,12 @@ static ide_startstop_t cdrom_pc_intr (ide_drive_t *drive)
 	} else {
 confused:
 		printk (KERN_ERR "%s: cdrom_pc_intr: The drive "
-			"appears confused (ireason = 0x%02x)\n",
+			"appears confused (ireason = 0x%02x). "
+			"Trying to recover by ending request.\n",
 			drive->name, ireason);
 		rq->flags |= REQ_FAILED;
+		cdrom_end_request(drive, 0);
+		return ide_stopped;
 	}
 
 	/* Now we wait for another interrupt. */