suspend: fix freeze abort hangup which caused by insmod [1/1]
authorQiufang Dai <qiufang.dai@amlogic.com>
Thu, 26 Dec 2019 04:05:22 +0000 (12:05 +0800)
committerXindong Xu <xindong.xu@amlogic.com>
Thu, 9 Jan 2020 00:59:11 +0000 (08:59 +0800)
PD#GH-134

Problem:
When freeze abort happen, it will lose device_unblock_probing(),
so device probe is blocked.

Solution:
When freeze abort happen, release device_block_probing

Verify:
SM1_S905D3_AC200

Change-Id: I3e591fe9ed392b6a4d30285817a91fbfec25336f
Signed-off-by: Qiufang Dai <qiufang.dai@amlogic.com>
kernel/power/suspend.c

index 71050f5841a3a120e0e58fa609b22343cbdb8aef..853dced7fb2662821983950f5c43f5577942bffd 100644 (file)
@@ -314,6 +314,11 @@ static int suspend_prepare(suspend_state_t state)
        if (!error)
                return 0;
 
+#ifdef CONFIG_AMLOGIC_MODIFY
+       /* Allow device probing and trigger re-probing of deferred devices */
+       device_unblock_probing();
+#endif
+
        suspend_stats.failed_freeze++;
        dpm_save_failed_step(SUSPEND_FREEZE);
  Finish: