Turning an external device off is one of the most efficient ways to save power. It is, however, not always easy to understand when a device can be turned off safely. Peripheral devices such as network cards or memory cards can perform internal data processing; otherwise, the caching and powering off of the device at an arbitrary point can cause data loss.
To mitigate this problem, many external devices that are connected over the USB can switch themselves into low-power consumption mode when requested by the host. This way, they can perform all necessary steps to handle internal data safely before entering the suspended state.
Since Linux provides access to peripheral devices only through its API, it knows when a device is in use by applications and kernel services. If a device is not in use for a certain amount of time, the power-management...