Adam,
  I'm not sure the proper thing to do is necessarily remove the
device_shutdown() call.  I did the changes to the device_shutdown()
function, but as far as I can tell, it should not have changed any
behavior like that - all I did was re-work the logic a bit.  In any
case, what I did submit to the mailing list was absent a small piece of
code (a change to device.h), and the person who forwarded it onto Linus
(thank you!) did make a change to make it compile without that.
  Please try this patch to the base 2.5.42 code, and let me know if this
returns it to the previous behavior?
--- a/drivers/base/power.c      Sat Oct 12 00:22:11 2002
+++ linux/drivers/base/power.c  Sun Oct 13 15:42:46 2002
@@ -31,7 +31,7 @@
        struct device * prev = NULL;
        int error = 0;
-       if(level == SUSPEND_POWER_DOWN)
+       if(level == SUSPEND_SHUT_DOWN)
                printk(KERN_EMERG "Shutting down devices\n");
        else
                printk(KERN_EMERG "Suspending devices\n");
@@ -42,7 +42,7 @@
                if (dev) {
                        spin_unlock(&device_lock);
                        if(dev->driver) {
-                               if(level == SUSPEND_POWER_DOWN) {
+                               if(level == SUSPEND_SHUT_DOWN) {
                                        if(dev->driver->remove)
                                               
dev->driver->remove(dev);
                                } else if(dev->driver->suspend)
@@ -96,7 +96,7 @@
  */
 void device_shutdown(void)
 {
-       device_suspend(4, SUSPEND_POWER_DOWN);
+       device_suspend(4, SUSPEND_SHUT_DOWN);
 }
 EXPORT_SYMBOL(device_suspend);
--- a/include/linux/device.h    Sat Oct 12 00:22:19 2002
+++ linux/include/linux/device.h        Sun Oct 13 15:43:03 2002
@@ -40,6 +40,7 @@
        SUSPEND_SAVE_STATE,
        SUSPEND_DISABLE,
        SUSPEND_POWER_DOWN,
+       SUSPEND_SHUT_DOWN,
 };
 enum {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/