meta-facebook: harma: fix PSM power control error event

1. To fix the logical failure in the check status script.
2. Remove obmc-host-stop@0.target and phosphor-reboot-host@0.service
to avoid a host cycle when resetting.
3. To fix power policy.

Change-Id: I9de75bff428692c33ec4bf2e053eabb9aeba6f4d
Signed-off-by: Peter Yin <peter.yin@quantatw.com>
diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle
index 6d41aba..b2a09f0 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle
+++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/host-powercycle
@@ -2,7 +2,8 @@
 
 # shellcheck source=meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
 source /usr/libexec/phosphor-state-manager/power-cmd
-
-power_off
-sleep 10
-power_on
+if [ "$(power_status)" == "on" ]; then
+  power_off
+  sleep 10
+  power_on
+fi
diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
index c1b9a37..147de4c 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
+++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager/power-cmd
@@ -30,21 +30,23 @@
         sleep 1
         set_gpio power-host-control 1
         sleep 1
+
+        for i in $(seq 1 10)
+        do
+            sleep 1
+            if [ "$(power_status)" == "on" ]; then
+
+               echo "Set Host Power On"
+               return 0
+            fi
+
+            if [ "$i" -eq 10 ]; then
+               echo "Set Host Power On Fail"
+               return 1
+            fi
+        done
     fi
-
-    for i in $(seq 1 10)
-    do
-        if [ "$(power_status)" == "on" ]; then
-
-           echo "Set Host Power On"
-           return 0
-        fi
-
-        if [ "$i" -eq 10 ]; then
-           echo "Set Host Power On Fail"
-           return 1
-        fi
-    done
+    return 0
 }
 
 # Host reset
diff --git a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager_%.bbappend
index 23a94d9..358cf3d 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager_%.bbappend
+++ b/meta-facebook/meta-harma/recipes-phosphor/state/phosphor-state-manager_%.bbappend
@@ -1,6 +1,7 @@
 FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
 
-PACKAGECONFIG:remove = "no-warm-reboot"
+PACKAGECONFIG:remove = "no-warm-reboot only-run-apr-on-power-loss"
+
 
 CHASSIS_DEFAULT_TARGETS:remove:harma = " \
     obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-on@{}.service \
@@ -15,6 +16,8 @@
 
 HOST_DEFAULT_TARGETS:remove:harma = " \
     obmc-host-start@{}.target.wants/host-poweron@{}.service \
+    obmc-host-force-warm-reboot@{}.target.requires/obmc-host-stop@{}.target \
+    obmc-host-force-warm-reboot@{}.target.requires/phosphor-reboot-host@{}.service \
 "
 
 HOST_DEFAULT_TARGETS:append:harma = " \