--- linux-2.4.20-pre5-ac4/drivers/ide/ide-cd.c.orig Mon Sep 9 12:23:22 2002 +++ linux-2.4.20-pre5-ac4/drivers/ide/ide-cd.c Mon Sep 9 12:26:29 2002 @@ -3239,6 +3239,7 @@ ide_drive_t *drive; struct cdrom_info *info; int failed = 0; + byte stat; #endif /* CLASSIC_BUILTINS_METHOD */ MOD_INC_USE_COUNT; #ifdef CLASSIC_BUILTINS_METHOD @@ -3257,6 +3258,17 @@ "emulation.\n", drive->name); continue; } + + /* ide-cd probe workaround by Kristian Peters */ + stat = GET_STAT(); + ide_dump_status (drive, "drive status", stat); + + if (stat & BUSY_STAT) { + printk("ide-cd: Probing for drive %s failed. Device is busy !\n", drive->name); + continue; + } + /* end */ + info = (struct cdrom_info *) kmalloc (sizeof (struct cdrom_info), GFP_KERNEL); if (info == NULL) { printk ("%s: Can't allocate a cdrom structure\n",