From 5b431ea60855f09be100b6e8bd8817467ee6e141 Mon Sep 17 00:00:00 2001 From: Brandon Bergren Date: Sun, 6 May 2018 15:52:38 -0500 Subject: [PATCH] Add workaround to ensure the AVS bits run at the correct time. The real fix is to extend power_control.exe to not charge ahead before PGOOD, but I didn't want to break other machines that may have their own assumptions in this matter. Signed-off-by: Brandon Bergren --- .../recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service | 3 +++ .../recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service | 3 +++ 2 files changed, 6 insertions(+) diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service index b7fb41e2..adbfbab0 100644 --- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service +++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service @@ -2,6 +2,9 @@ Description=Enable the AVS bus on VRMs Wants=vrm-control@%i.service After=vrm-control@%i.service +# Workaround -- Ensure the entire AVS bus process runs before returning to parallel operation. +# This prevents a race condition when the power supply takes a long time to come up. +Before=op-wait-power-on@%i.service Conflicts=obmc-chassis-poweroff@%i.target ConditionPathExists=!/run/openbmc/chassis@%i-on diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service index 156ef03c..3746eb2e 100644 --- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service +++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service @@ -7,6 +7,9 @@ Conflicts=obmc-chassis-poweroff@%i.target ConditionPathExists=!/run/openbmc/chassis@%i-on [Service] +# Workaround: Because we are scheduled to run before power is necessarily +# up, wait for power_control.exe to catch up. +ExecStartPre=/usr/bin/env pgood_wait /org/openbmc/control/power%i on ExecStart=/usr/bin/env avsbus-workaround.sh SyslogIdentifier=avsbus-workaround.sh Type=oneshot -- 2.11.0