diff --git a/files/image_config/pcie-check/pcie-check.service b/files/image_config/pcie-check/pcie-check.service index 9bea910a7f..fbf3cfd3f1 100644 --- a/files/image_config/pcie-check/pcie-check.service +++ b/files/image_config/pcie-check/pcie-check.service @@ -1,6 +1,6 @@ [Unit] Description=Check the PCIe device presence and status -After=rc.local.service +After=rc.local.service database.service [Service] Type=simple diff --git a/files/image_config/pcie-check/pcie-check.sh b/files/image_config/pcie-check/pcie-check.sh index 90fc0bb5ca..4ef2ce3047 100755 --- a/files/image_config/pcie-check/pcie-check.sh +++ b/files/image_config/pcie-check/pcie-check.sh @@ -16,7 +16,7 @@ function debug() function check_and_rescan_pcie_devices() { - PCIE_CHK_CMD=$(sudo pcieutil pcie-check |grep "$RESULTS") + PCIE_CHK_CMD='sudo pcieutil pcie-check |grep "$RESULTS"' PLATFORM=$(sonic-cfggen -H -v DEVICE_METADATA.localhost.platform) if [ ! -f /usr/share/sonic/device/$PLATFORM/plugins/pcie.yaml ]; then @@ -36,8 +36,8 @@ function check_and_rescan_pcie_devices() break fi - if [ "$PCIE_CHK_CMD" = "$EXPECTED" ]; then - redis-cli -n 6 SET "PCIE_STATUS|PCIE_DEVICES" "PASSED" + if [ "$(eval $PCIE_CHK_CMD)" = "$EXPECTED" ]; then + redis-cli -n 6 HSET "PCIE_DEVICES" "status" "PASSED" debug "PCIe check passed" exit else @@ -53,7 +53,7 @@ function check_and_rescan_pcie_devices() done debug "PCIe check failed" - redis-cli -n 6 SET "PCIE_STATUS|PCIE_DEVICES" "FAILED" + redis-cli -n 6 HSET "PCIE_DEVICES" "status" "FAILED" } check_and_rescan_pcie_devices