Linux Hibernation with sata driver

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

 



Hi,

I am working with Linux hibernation framework on ARM based custom SOC
which has SATA controller on PCI bus.

I see that when the system resumes from hibernation, the SATA
controller(drivers/ata/ahci.c) on PCI bus fails to come up. My
understanding is that the hibernation calls 'freeze' of all devices.
The SATA controller receives the power state event as PM_EVENT_FREEZE
( ie pdev->dev.power.power_state.event = PM_EVENT_FREEZE). Thus when
system restores the hibernation image, ahci_pci_device_resume gets
called in which ahci_pci_reset_controller/ahci_pci_init_controller
does not get called. So SATA controller fails to come up.

Please let me know if my understanding is correct or not. If so, then
in ahci_pci_device_resume() should we change the following
if (pdev->dev.power.power_state.event == PM_EVENT_SUSPEND)
to
if (pdev->dev.power.power_state.event == PM_EVENT_FREEZE)

In hibernation , as we power down the system, so I understand that the
sata controller need to be reset and re-initialized for proper
functioning.

Regards,
Ayan Kumar Halder

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux