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

Why I did it
The hw resources should be released before updating firmware.

How I did it
Added logic to release hw resources in syncd.sh script

Signed-off-by: Vadym Hlushko <vadymh@nvidia.com>
This commit is contained in:
Vadym Hlushko 2023-08-07 08:30:33 +03:00 committed by GitHub
parent 642350c524
commit 9fba98ce6d
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"