Synchronizing the resume/suspend/remove routine with Driver"s IO path
am 08.09.2010 00:53:36 von Lalatendu DasHi 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs