
From: Jens Axboe <axboe@suse.de>

attempt to access beyond end of device
hdc: rw=0, want=8174536, limit=8123200
Buffer I/O error on device hdc, logical block 2043633


---

 25-akpm/drivers/ide/ide-cd.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/ide/ide-cd.c~ide_cd-capacity-fix drivers/ide/ide-cd.c
--- 25/drivers/ide/ide-cd.c~ide_cd-capacity-fix	Wed Mar 24 14:04:13 2004
+++ 25-akpm/drivers/ide/ide-cd.c	Wed Mar 24 14:04:13 2004
@@ -2372,7 +2372,7 @@ static int cdrom_read_toc(ide_drive_t *d
 
 	/* Now try to get the total cdrom capacity. */
 	stat = cdrom_get_last_written(cdi, &last_written);
-	if (!stat && last_written) {
+	if (!stat && (last_written > toc->capacity)) {
 		toc->capacity = last_written;
 		set_capacity(drive->disk, toc->capacity * sectors_per_frame);
 	}

_
