State of outstanding command executing driver code during suspend()/resume().

ld puri <[email protected]>
Newsgroups gmane.linux.ide,gmane.linux.newbie
Message-ID <[email protected]>
Hi All,

While browsing through current Linux Power management implementation
wrt AHCI drivers, I stumbled upon following doubts.

I assume whenever system wide suspend (STR/hibernate) occurs, all the
process is freeze by the Kernel's PM subsystem and it ensures there
are no additional command can be issued to AHCI driver. But it can be
very much possible some commands are being executed within the AHCI
driver.

If my understanding is correct suspend() will be called anytime for
the AHCI driver. In other words, the invocation
ahci_pci_device_suspend() from PCI subsystem won't wait for ahci
driver to complete its outstanding command.
The invocation of suspend(), resume() & remove() call backs from PCI
subsystem are not synchronized with that driver's IO path is this
correct ?

Does these outstanding command currently executed by driver will be lost ?

Moreover in resume() routine of AHCI driver, the controller is
reinitialized (ahci_init_controller), then how system can restart the
commands that are stopped during previous suspend() call.

Thanks
Das
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.