On Wed, Jul 25, 2012 at 1:00 AM, Ming Lei <ming....@canonical.com> wrote: > Hi, > > In [1][2], the problem below has been discussed for some time: > > device's firmware may be lost during suspend/resume > cycle because device is unplugged and plugged again > or device experiences system power loss in the period. > but during resume path, system is still not ready(process > frozen, rootfs not usable, ...) to complete loading firmware > from user space for the device > > The conclusion is that caching firmware during suspend/resume cycle > is capable of solving the problem. > > This patchset implements cache/uncache firmware mechanism, > and apply the mechnism to cache device's firmware in kernel memory > space automatically during suspend/resume cyclye, so device can > load its firmware easily during resume path. When resume is completed > and system is ready, the cached firmwares will be removed from > kernel memory later.
$git diff --stat drivers/base/devres.c | 42 +++ drivers/base/firmware_class.c | 749 +++++++++++++++++++++++++++++++++++------ include/linux/device.h | 3 + include/linux/firmware.h | 15 + 4 files changed, 705 insertions(+), 104 deletions(-) Thanks, -- Ming Lei -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/