cros_ec_softrec_power: Remove warm/cold reset from power_state:rec

Mirroring changes in CL:423211.
Having the warm/cold reset was creating a race condition where the
device was rebooting twice and the recovery reason was getting
wiped as a result.

TEST=Run suite:faft_lv3 and firmware_UserRequestRecovery,

Change-Id: Ic9c168064b5761188dcc542485de2d39cfa1e8dd
Signed-off-by: Shelley Chen <>
Reviewed-by: Aseda Aboagye <>
Reviewed-by: Furquan Shaikh <>
diff --git a/servo/drv/ b/servo/drv/
index 83cf541..05386e0 100644
--- a/servo/drv/
+++ b/servo/drv/
@@ -52,14 +52,8 @@
   def _power_on_bytype(self, rec_mode, rec_type=_REC_TYPE_REC_ON):
+    self._interface.set('ec_uart_cmd', '\r')
     if rec_mode == self.REC_ON:
-      # Hold warm reset so the AP doesn't boot when EC reboots.
-      self._interface.set('warm_reset', 'on')
-      # Reset the EC to force it back into RO code; this clears
-      # the EC_IN_RW signal, so the system CPU will trust the
-      # upcoming recovery mode request.
-      self._cold_reset()
-      # Restart the EC, but leave the system CPU off...
         # Before proceeding, we should really check that the EC has reset from
         # our command.  Pexpect is minimally greedy so we won't be able to match
@@ -69,9 +63,6 @@
         self._interface.set('ec_uart_regexp', 'None')
-      # Now the EC keeps the AP off. Release warm reset before powering
-      # on the AP.
-      self._interface.set('warm_reset', 'off')
       # Need to clear the flag in secondary (B) copy of the host events if
       # we're in non-recovery mode.