> Still, my position is this: > > 1) The freezer (in the modified form, with the freezing of kernel threads > limited to the ones that want to be frozen) is needed for hibernation. > > 2) The freezer is generally not needed for suspend, _but_ there are drivers > in the tree that rely on it being used. Thus, at some point in time we can > remove the freezer from the suspend code path, _but_ no sooner than we are > sure that the majority of drivers is prepared for that. And we won't know if drivers are OK until we remove the freezer, catch-22. So I think we need to disable the freezer at least in -mm and/or optionally in -linus. I applied Matthew's patch, and suspend did in fact stop working (thinkpad t60), but there was nothing catastrophic. Here's the dmesg if somebody is interested: Suspending console(s) usb_endpoint usbdev5.3_ep83: PM: suspend 0->2, parent 5-2:1.0 already 2 usb_endpoint usbdev5.3_ep02: PM: suspend 0->2, parent 5-2:1.0 already 2 usb_endpoint usbdev5.3_ep81: PM: suspend 0->2, parent 5-2:1.0 already 2 hub 2-0:1.0: suspend error -16 suspend_device(): usb_suspend+0x0/0x1c() returns -16 Could not suspend device usb2: error -16 usb_endpoint usbdev5.3_ep81: PM: resume from 0, parent 5-2:1.0 still 2 usb_endpoint usbdev5.3_ep02: PM: resume from 0, parent 5-2:1.0 still 2 usb_endpoint usbdev5.3_ep83: PM: resume from 0, parent 5-2:1.0 still 2 Some devices failed to suspend Miklos _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm