On Mon, 30 Sep 2013, yoma sophian wrote: > hi all: > We are trying to make usb hibernate work on our embedded system. > below are configs we enable for system power management: Do you mean "hibernate" or "sleep"? > # > # Power management options > # > CONFIG_SUSPEND=y > CONFIG_SUSPEND_FREEZER=y > # CONFIG_HIBERNATION is not set > CONFIG_PM_SLEEP=y Notice that PM_SLEEP is enabled but HIBERNATION is disabled. > CONFIG_PM_SLEEP_SMP=y > # CONFIG_PM_AUTOSLEEP is not set > # CONFIG_PM_WAKELOCKS is not set > CONFIG_PM_RUNTIME=y > CONFIG_PM=y > CONFIG_PM_DEBUG=y > CONFIG_PM_ADVANCED_DEBUG=y > CONFIG_PM_SLEEP_DEBUG=y > # CONFIG_APM_EMULATION is not set > CONFIG_PM_CLK=y > CONFIG_CPU_PM=y > CONFIG_ARCH_SUSPEND_POSSIBLE=y > CONFIG_ARM_CPU_SUSPEND=y > > When we use "echo mem > /sys/power/state" , we didn't see any function "mem" is a kind of sleep, not a kind of hibernation. > in usb_device_pm_ops is called. Some of those functions definitely should have been called. How do you know they weren't called? > Did we miss any configuration to let hibernate work? > Or we used the wrong way to activate it? Maybe something else went wrong before the functions were called. What does your dmesg log show? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html