Hi All, I am newbie to Linux's power management subsystem. I saw a comment stating that the execution suspend()/ resume callback function can sleep. Say for example an AHCI driver is executing its suspend call back and just after shutting down the DMA engines / releasing all Block layer links, the suspend() call goes to sleep and the driver's IO path execution thread woke up to execute. I assume this possible because both suspend() call path and driver';s IO execution path are independent and not synchronized. Doesn't the driver In such scenario may do some wrong memory reference which released by sleeping suspend() thread right?? or H/W access will return error even though the card is not removed or gone bad which is not desired ?? Shouldn't we synchronize the driver and remove.suspend, resume() callbacks ? Please Let me know If i am gone wrong some where. Any pointers to read will be great. Thanks in advance. LD -- To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs