Hi! > > > As another issue, how should we handle surprise removal between suspend and > > > resume? It seems like we would need to tell the resume method about this. > > > > I don't know how it should be handled in other subsystems. With USB, we > > detect the removal at or close to the time when we attempt to resume the > > device. Of course USB is peculiar, in that the drivers don't bind > > directly to the devices (they bind to interfaces within the devices). > > Hence by the time the drivers' ->resume gets called, there's a good chance > > we already know the device is gone. > > > > But even if we didn't know, it wouldn't matter much. The driver would > > encounter a rash of errors as it tried to communicate with the missing > > device, and they would end abruptly when we learned that the device had > > been disconnected. > > Most drivers aren't this smart, and not every bus will be happy with drivers > tearing through the remains of previously removed hardware. > ...so fix the drivers. If the device fails, they should handle it. And bus should handle it, too... Pavel -- 64 bytes from 195.113.31.123: icmp_seq=28 ttl=51 time=448769.1 ms