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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux