Re: Patch: linux-2.5.42/kernel/sys.c - warm reboot should not suspend devices

Eric W. Biederman
2002-10-14T00:25:51Z

Andries Brouwer <aebr@win.tue.nl> writes:

> On Sun, Oct 13, 2002 at 12:24:26PM -0700, Adam J. Richter wrote:
>
> > linux-2.5.42 had an annoying new behavior. When I would
> > try to do a warm reboot, it would spin down the hard drives, which
> > just made the reboot take longer and gave the impression that a
> > halt or poweroff was in progress.
>
> Yes. In my case worse than annoying:
> The drives spin down, but have not yet completed spindown when
> the machine is started again. LILO fails (prints a single 's'
> where I would have expected "uncompressing kernel" and dies).
> Pressing reset results in a strange garbled BIOS screen, and a hang.
> After a power cycle all is well again.
>
> So, my hardware is very unhappy with the new 2.5.42 behaviour.

>From ChangeLog-2.5.42

<mochel@osdl.org>
IDE: Add generic remove() method for drives; remove reboot notifier.

The remove() method is generic for all drives, and set in ide_driver_t::gen_driver.
The call simply forwards the call to ide_driver_t::standby().

This obviates the need for IDE reboot notifier. The core iterates over all present
devices in device_shutdown() and unregisters each one.

<mochel@osdl.org>
IDE: make ide_drive_remove() call driver's ->cleanup().

This was accidentally dropped before, but re-added now to completely mimic
behavior of the reboot notifier IDE used to have.

And if you look at the changes you will notice ->suspend used to be called
only on a halt, but now it is also called on a reboot.

Eric