Re: [PATCH v6 19/23] ata: libata-core: Do not resume runtime suspended ports

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


Damien Le Moal <dlemoal@xxxxxxxxxx> writes:

> The scsi disk driver does not resume disks that have been runtime
> suspended by the user. To be consistent with this behavior, do the same
> for ata ports and skip the PM request in ata_port_pm_resume() if the
> port was already runtime suspended. With this change, it is no longer
> necessary to force the PM state of the port to ACTIVE as the PM core
> code will take care of that when handling runtime resume.

The problem with this is that ATA disks normally spin up on their own
after system resume.  As a result, if the disk was put to sleep with
runtime pm before the system suspend, then after resume, the kernel will
still show that it is runtime suspended, even though it is not.  Then
the disk will keep spinning forever.

We need to check the drive on system resume to see if it is in standby
or not, and force the runtime pm state to match.  I couldn't quite work
out how to do that properly before.  I dug up my old patch series and
have been reviewing it.  If you are interested, it can be found here:

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux