On Monday 07 December 2009, Linus Torvalds wrote: > > On Mon, 7 Dec 2009, Alan Stern wrote: > > > > It only seems that way because you didn't take into account devices > > that suspend synchronously but whose children suspend asynchronously. > > But why would I care? If somebody suspends synchronously, then that's what > he wants. > > > A synchronous suspend routine for a device with async child suspends > > would have to look just like your usb_node_suspend(): > > Sure. But that sounds like a "Doctor, it hurts when I do this" situation. > Don't do that. > > Make the USB host controller do its suspend asynchronously. We don't > suspend PCI bridges anyway, iirc (but I didn't actually check). And at > worst, we can make the PCI _bridges_ know about async suspends, and solve > it that way - without actually making any normal PCI drivers do it. BTW, I still don't quite understand why not to put the parent's down_write operation into the core. It's not going to hurt for the "synchronous" devices and the "asynchronous" ones will need to do it anyway. Also it looks like that's something to do unconditionally for all nodes having children, because the parent need not know if the children do async operations. Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm