forked from Minki/linux
[PATCH] USB: correct the USB info in Documentation/power/swsusp.txt
The swsusp.txt documentation harshes confusingly on USB, and this patch addresses the issue. It's harsh because it blames USB for some issues that are generic to all drivers -- especially those supporting removable media -- and it's confusing since it says that USB has the issue with "suspend" not just swsusp ... while in reality, USB doesn't have the issue when real system suspend states are used. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
b761d9d867
commit
b9827e4b29
@ -18,10 +18,11 @@ Some warnings, first.
|
|||||||
*
|
*
|
||||||
* (*) suspend/resume support is needed to make it safe.
|
* (*) suspend/resume support is needed to make it safe.
|
||||||
*
|
*
|
||||||
* If you have any filesystems on USB devices mounted before suspend,
|
* If you have any filesystems on USB devices mounted before software suspend,
|
||||||
* they won't be accessible after resume and you may lose data, as though
|
* they won't be accessible after resume and you may lose data, as though
|
||||||
* you have unplugged the USB devices with mounted filesystems on them
|
* you have unplugged the USB devices with mounted filesystems on them;
|
||||||
* (see the FAQ below for details).
|
* see the FAQ below for details. (This is not true for more traditional
|
||||||
|
* power states like "standby", which normally don't turn USB off.)
|
||||||
|
|
||||||
You need to append resume=/dev/your_swap_partition to kernel command
|
You need to append resume=/dev/your_swap_partition to kernel command
|
||||||
line. Then you suspend by
|
line. Then you suspend by
|
||||||
@ -204,7 +205,7 @@ Q: There don't seem to be any generally useful behavioral
|
|||||||
distinctions between SUSPEND and FREEZE.
|
distinctions between SUSPEND and FREEZE.
|
||||||
|
|
||||||
A: Doing SUSPEND when you are asked to do FREEZE is always correct,
|
A: Doing SUSPEND when you are asked to do FREEZE is always correct,
|
||||||
but it may be unneccessarily slow. If you want USB to stay simple,
|
but it may be unneccessarily slow. If you want your driver to stay simple,
|
||||||
slowness may not matter to you. It can always be fixed later.
|
slowness may not matter to you. It can always be fixed later.
|
||||||
|
|
||||||
For devices like disk it does matter, you do not want to spindown for
|
For devices like disk it does matter, you do not want to spindown for
|
||||||
@ -357,17 +358,25 @@ Q: Is this true that if I have a mounted filesystem on a USB device and
|
|||||||
I suspend to disk, I can lose data unless the filesystem has been mounted
|
I suspend to disk, I can lose data unless the filesystem has been mounted
|
||||||
with "sync"?
|
with "sync"?
|
||||||
|
|
||||||
A: That's right. It depends on your hardware, and it could be true even for
|
A: That's right ... if you disconnect that device, you may lose data.
|
||||||
suspend-to-RAM. In fact, even with "-o sync" you can lose data if your
|
In fact, even with "-o sync" you can lose data if your programs have
|
||||||
programs have information in buffers they haven't written out to disk.
|
information in buffers they haven't written out to a disk you disconnect,
|
||||||
|
or if you disconnect before the device finished saving data you wrote.
|
||||||
|
|
||||||
If you're lucky, your hardware will support low-power modes for USB
|
Software suspend normally powers down USB controllers, which is equivalent
|
||||||
controllers while the system is asleep. Lots of hardware doesn't,
|
to disconnecting all USB devices attached to your system.
|
||||||
however. Shutting off the power to a USB controller is equivalent to
|
|
||||||
unplugging all the attached devices.
|
Your system might well support low-power modes for its USB controllers
|
||||||
|
while the system is asleep, maintaining the connection, using true sleep
|
||||||
|
modes like "suspend-to-RAM" or "standby". (Don't write "disk" to the
|
||||||
|
/sys/power/state file; write "standby" or "mem".) We've not seen any
|
||||||
|
hardware that can use these modes through software suspend, although in
|
||||||
|
theory some systems might support "platform" or "firmware" modes that
|
||||||
|
won't break the USB connections.
|
||||||
|
|
||||||
Remember that it's always a bad idea to unplug a disk drive containing a
|
Remember that it's always a bad idea to unplug a disk drive containing a
|
||||||
mounted filesystem. With USB that's true even when your system is asleep!
|
mounted filesystem. That's true even when your system is asleep! The
|
||||||
The safest thing is to unmount all USB-based filesystems before suspending
|
safest thing is to unmount all filesystems on removable media (such USB,
|
||||||
and remount them after resuming.
|
Firewire, CompactFlash, MMC, external SATA, or even IDE hotplug bays)
|
||||||
|
before suspending; then remount them after resuming.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user