Do not run validation if input/UV fault

If any power supply has an input or VIN_UV fault, do not run the
configuration validation.

Two reasons to avoid running the configuration validation when an input
or VIN_UV fault is present:
  1) Avoid unnecessarily logging additional errors.
     - We know the voltage is wrong, it will log an error.
  2) Avoid logging the configuration invalid error that calls out the
  power supply.
     - That error would unnecessarily turn on the power supply fault LED.

Tested:
   Rainier 2S4U. System power off.
   Remove power from powersupply2 and powersupply3.
   Power system on.
   Without changes:
       Two 110015F0 PELs.
       One 110015F7 PEL.
       SAI LED on.
       powersupply2 Health critical, LED on.
       powersupply3 Health critical, LED off.
   With changes:
       Two 110015F0 PELs.
       SAI LED on.
       powersupply2 Health critical, LED off.
       powersupply3 Health critical, LED off.
   Resolve input power issue.
      Without Changes:
       powersupply2 Health critical, LED on.
       powersupply3 Health Okay.
      With Changes:
       powersupply2 Health Okay.
       powersupply3 Health Okay.
   Attempt resolve input power with wrong voltage:
      With Changes:
        powersupply0 called out in 110015F7. (wrong voltage)

Change-Id: Ie1628b0d9cf4dc25dc7bd2d4bc3f79779c54de97
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
diff --git a/phosphor-power-supply/psu_manager.cpp b/phosphor-power-supply/psu_manager.cpp
index 351d2d3..446be75 100644
--- a/phosphor-power-supply/psu_manager.cpp
+++ b/phosphor-power-supply/psu_manager.cpp
@@ -722,6 +722,16 @@
         return;
     }
 
+    for (const auto& psu : psus)
+    {
+        if ((psu->hasInputFault() || psu->hasVINUVFault()))
+        {
+            // Do not try to validate if input voltage fault present.
+            validationTimer->restartOnce(validationTimeout);
+            return;
+        }
+    }
+
     std::map<std::string, std::string> additionalData;
     auto supported = hasRequiredPSUs(additionalData);
     if (supported)