[syncd.sh] Clear semaphore before updating firmware (#15818) (#16067)

This commit is contained in:
mssonicbld 2023-08-07 18:20:15 +08:00 committed by GitHub
parent 30f935c994
commit 4ca01a7715
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,6 +2,18 @@
. /usr/local/bin/syncd_common.sh
declare -r UNKN_MST="unknown"
function GetMstDevice() {
local _MST_DEVICE="$(ls /dev/mst/*_pci_cr0 2>&1)"
if [[ ! -c "${_MST_DEVICE}" ]]; then
echo "${UNKN_MST}"
else
echo "${_MST_DEVICE}"
fi
}
function startplatform() {
# platform specific tasks
@ -23,6 +35,12 @@ function startplatform() {
debug "Starting Firmware update procedure"
/usr/bin/mst start --with_i2cdev
local -r _MST_DEVICE="$(GetMstDevice)"
if [[ "${_MST_DEVICE}" != "${UNKN_MST}" ]]; then
/usr/bin/flint -d $_MST_DEVICE --clear_semaphore
fi
/usr/bin/mlnx-fw-upgrade.sh
/etc/init.d/sxdkernel restart
debug "Firmware update procedure ended"