Am Mittwoch, 2. April 2008 16:11:14 schrieb Alan Stern: > > However, I'd like to add a recommendation that the _new_ "resume" callbacks > > should only return errors in critical situations as the indication to the PM > > core that something went _really_ wrong and the device in question is quite > > surely unusable. > > Agreed. The most important aspect is that drivers should _not_ return > an error if the device is working correctly. We should fix the drivers > which make this mistake. We need to do something about devices that don't want to be resumed. There's code like this: static int usb_resume(struct device *dev) { struct usb_device *udev; if (!is_usb_device(dev)) /* Ignore PM for interfaces */ return 0; udev = to_usb_device(dev); /* If udev->skip_sys_resume is set then udev was already suspended * when the system suspend started, so we don't want to resume * udev during this system wakeup. However a reset-resume counts * as a wakeup event, so allow a reset-resume to occur if remote * wakeup is enabled. */ if (udev->skip_sys_resume) { if (!(udev->reset_resume && udev->do_remote_wakeup)) return -EHOSTUNREACH; } return usb_external_resume_device(udev); } Do we want to keep this in the subsystems? Regards Oliver _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm