Andrew Morton wrote: >>It's a bit grubby, but we could easily add a fourth state to >> `system_state': split SYSTEM_SHUTDOWN into SYSTEM_REBOOT and SYSTEM_HALT. >> That would be a quite simple change. > > Like this. I checked all the SYSTEM_FOO users and none of them seem to > care about the shutdown state at present. Easy. Wonderful. Placed the following quick hack on top: [drivers/ide/ide-disk.c] @@ -1704,10 +1704,11 @@ static void ide_device_shutdown(struct device *dev) { - ide_drive_t *drive = container_of(dev, ide_drive_t, gendev); - - printk("Shutdown: %s\n", drive->name); - dev->bus->suspend(dev, PM_SUSPEND_STANDBY); + if (system_state != SYSTEM_RESTART) { + ide_drive_t *drive = container_of(dev, ide_drive_t, gendev); + printk("Shutdown: %s\n", drive->name); + dev->bus->suspend(dev, PM_SUSPEND_STANDBY); + } } /* Seems very wrong there; will likely want to be pushed up a few levels, but... Works For Me. Have attached a patch of what I'm currently using against 2.6.6 just in case anyone interested lost track. It's bart+morton+hack. Rene.