--- a/drivers/ide/ide-io.c 2005-02-04 03:27:35.000000000 +0100 +++ b/drivers/ide/ide-io.c 2005-02-05 01:44:33.000000000 +0100 @@ -230,6 +230,12 @@ memset(args, 0, sizeof(*args)); + if (drive->media != ide_disk) { + /* skip idedisk_pm_idle for ATAPI devices */ + if (rq->pm->pm_step == idedisk_pm_idle) + rq->pm->pm_step = ide_pm_restore_dma; + } + switch (rq->pm->pm_step) { case ide_pm_flush_cache: /* Suspend step 1 (flush cache) */ if (drive->media != ide_disk)