Rebase mstflint to latest upstream release v4.11.0-4
Signed-off-by: Honggang Li <honli@redhat.com>
This commit is contained in:
parent
4d9bba1983
commit
eed048ad9e
1
.gitignore
vendored
1
.gitignore
vendored
@ -25,3 +25,4 @@ noarch/
|
||||
/mstflint-4.10.0.tar.gz
|
||||
/mstflint-4.11.0-2.tar.gz
|
||||
/mstflint-4.11.0-3.tar.gz
|
||||
/mstflint-4.11.0-4.tar.gz
|
||||
|
@ -1,119 +0,0 @@
|
||||
From f355d4902890e5b4db15b87903a299697764bc8a Mon Sep 17 00:00:00 2001
|
||||
From: Honggang Li <honli@redhat.com>
|
||||
Date: Fri, 8 Feb 2019 21:26:39 -0500
|
||||
Subject: [PATCH] Fix shebang for python scripts
|
||||
|
||||
rhel-8 does not support python2. User '#!/usr/bin/python3' for all
|
||||
python scripts which with a shebang.
|
||||
|
||||
The substitution was done with following bash script.
|
||||
|
||||
====
|
||||
|
||||
pys=$(find . -type f -name '*.py')
|
||||
|
||||
for f in $pys; do
|
||||
sed -ne '1p' $f | grep -q -E '^#!/usr/bin'
|
||||
if [ $? -eq 0 ]; then
|
||||
echo $f
|
||||
sed -e '/^#!\/usr\/bin/d' -i $f
|
||||
sed -e '1 i\#!/usr/bin/python3' -i $f
|
||||
fi
|
||||
done
|
||||
===
|
||||
|
||||
Signed-off-by: Honggang Li <honli@redhat.com>
|
||||
---
|
||||
mtcr_py/test.py | 2 +-
|
||||
small_utils/mlxfwresetlib/mcra.py | 2 +-
|
||||
small_utils/mlxfwresetlib/mlnx_peripheral_components.py | 2 +-
|
||||
small_utils/mlxfwresetlib/mlxfwreset_mlnxdriver.py | 2 +-
|
||||
small_utils/mlxfwresetlib/mlxfwreset_status_checker.py | 2 +-
|
||||
small_utils/mlxfwresetlib/mlxfwreset_utils.py | 2 +-
|
||||
small_utils/mlxfwresetlib/pci_device.py | 2 +-
|
||||
small_utils/mstfwreset.py | 2 +-
|
||||
8 files changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/mtcr_py/test.py b/mtcr_py/test.py
|
||||
index 74c5d28..1e44232 100755
|
||||
--- a/mtcr_py/test.py
|
||||
+++ b/mtcr_py/test.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/python3
|
||||
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
#
|
||||
# This software is available to you under a choice of one of two
|
||||
diff --git a/small_utils/mlxfwresetlib/mcra.py b/small_utils/mlxfwresetlib/mcra.py
|
||||
index 2144d43..bc44356 100644
|
||||
--- a/small_utils/mlxfwresetlib/mcra.py
|
||||
+++ b/small_utils/mlxfwresetlib/mcra.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python3
|
||||
|
||||
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
#
|
||||
diff --git a/small_utils/mlxfwresetlib/mlnx_peripheral_components.py b/small_utils/mlxfwresetlib/mlnx_peripheral_components.py
|
||||
index 0ddf8d9..469e24b 100644
|
||||
--- a/small_utils/mlxfwresetlib/mlnx_peripheral_components.py
|
||||
+++ b/small_utils/mlxfwresetlib/mlnx_peripheral_components.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python3
|
||||
|
||||
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
#
|
||||
diff --git a/small_utils/mlxfwresetlib/mlxfwreset_mlnxdriver.py b/small_utils/mlxfwresetlib/mlxfwreset_mlnxdriver.py
|
||||
index 4971b00..1f34925 100755
|
||||
--- a/small_utils/mlxfwresetlib/mlxfwreset_mlnxdriver.py
|
||||
+++ b/small_utils/mlxfwresetlib/mlxfwreset_mlnxdriver.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python3
|
||||
|
||||
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
#
|
||||
diff --git a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
||||
index 1d614ac..153c87b 100755
|
||||
--- a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
||||
+++ b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python3
|
||||
|
||||
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
#
|
||||
diff --git a/small_utils/mlxfwresetlib/mlxfwreset_utils.py b/small_utils/mlxfwresetlib/mlxfwreset_utils.py
|
||||
index 9b07328..2c64044 100755
|
||||
--- a/small_utils/mlxfwresetlib/mlxfwreset_utils.py
|
||||
+++ b/small_utils/mlxfwresetlib/mlxfwreset_utils.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python3
|
||||
|
||||
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
#
|
||||
diff --git a/small_utils/mlxfwresetlib/pci_device.py b/small_utils/mlxfwresetlib/pci_device.py
|
||||
index 69a65ed..04a6c9a 100644
|
||||
--- a/small_utils/mlxfwresetlib/pci_device.py
|
||||
+++ b/small_utils/mlxfwresetlib/pci_device.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python3
|
||||
|
||||
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
#
|
||||
diff --git a/small_utils/mstfwreset.py b/small_utils/mstfwreset.py
|
||||
index 6d45200..f764de3 100755
|
||||
--- a/small_utils/mstfwreset.py
|
||||
+++ b/small_utils/mstfwreset.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python
|
||||
+#!/usr/bin/python3
|
||||
|
||||
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
#
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
diff --git a/mlxfwops/lib/fs2_ops.cpp b/mlxfwops/lib/fs2_ops.cpp
|
||||
index 775e242..4af0b9f 100644
|
||||
--- a/mlxfwops/lib/fs2_ops.cpp
|
||||
+++ b/mlxfwops/lib/fs2_ops.cpp
|
||||
@@ -369,7 +369,7 @@ bool Fs2Operations::checkGen(u_int32_t beg, u_int32_t offs, u_int32_t& next, con
|
||||
// CRC
|
||||
Crc16 crc;
|
||||
std::vector<u_int8_t> buffv(size);
|
||||
- u_int32_t *buff = (u_int32_t*)(&(buffv[0]));
|
||||
+ u_int32_t *buff = (u_int32_t*)(buffv.size() ? (&(buffv[0])) : NULL);
|
||||
|
||||
readBufAux((*_ioAccess), offs + sizeof(gph), buff, size, pr);
|
||||
|
||||
diff --git a/mlxfwops/lib/fs4_ops.cpp b/mlxfwops/lib/fs4_ops.cpp
|
||||
index eb0ca29..4b10307 100644
|
||||
--- a/mlxfwops/lib/fs4_ops.cpp
|
||||
+++ b/mlxfwops/lib/fs4_ops.cpp
|
||||
@@ -403,7 +403,7 @@ bool Fs4Operations::verifyTocEntries(u_int32_t tocAddr, bool show_itoc, bool isD
|
||||
|
||||
// Only when we have full verify or the info of this section should be collected for query
|
||||
std::vector<u_int8_t> buffv(entrySizeInBytes);
|
||||
- u_int8_t *buff = (u_int8_t *)(&(buffv[0]));
|
||||
+ u_int8_t *buff = (u_int8_t *)(buffv.size() ? (&(buffv[0])) : NULL);
|
||||
|
||||
if (show_itoc) {
|
||||
cx5fw_itoc_entry_dump(&tocEntry, stdout);
|
@ -1,180 +0,0 @@
|
||||
diff --git a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
||||
index 36b82ff..1d614ac 100755
|
||||
--- a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
||||
+++ b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
|
||||
@@ -1,87 +1,87 @@
|
||||
-#!/usr/bin/python
|
||||
-
|
||||
-# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
-#
|
||||
-# This software is available to you under a choice of one of two
|
||||
-# licenses. You may choose to be licensed under the terms of the GNU
|
||||
-# General Public License (GPL) Version 2, available from the file
|
||||
-# COPYING in the main directory of this source tree, or the
|
||||
-# OpenIB.org BSD license below:
|
||||
-#
|
||||
-# Redistribution and use in source and binary forms, with or
|
||||
-# without modification, are permitted provided that the following
|
||||
-# conditions are met:
|
||||
-#
|
||||
-# - Redistributions of source code must retain the above
|
||||
-# copyright notice, this list of conditions and the following
|
||||
-# disclaimer.
|
||||
-#
|
||||
-# - Redistributions in binary form must reproduce the above
|
||||
-# copyright notice, this list of conditions and the following
|
||||
-# disclaimer in the documentation and/or other materials
|
||||
-# provided with the distribution.
|
||||
-#
|
||||
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
-# SOFTWARE.
|
||||
-#--
|
||||
-
|
||||
-"""
|
||||
-* $Id : fwreset_status_checker.py 2017-11-28
|
||||
-* $Authors : Ahmad Soboh (ahmads@mellanox.com)
|
||||
-"""
|
||||
-
|
||||
-######################################################################
|
||||
-# Description: FirmwareResetStatusChecker
|
||||
-# OS Support : Linux/Windows.
|
||||
-######################################################################
|
||||
-
|
||||
-
|
||||
-class FirmwareResetStatusChecker(object):
|
||||
-
|
||||
- FirmwareUptimeStatusInit = 0x0
|
||||
- FirmwareUptimeStatusBeforeDone = 0x1
|
||||
- FirmwareUptimeStatusAfterDone = 0x2
|
||||
- FirmwareUptimeStatusError = 0x3
|
||||
-
|
||||
- FirmwareResetStatusDone = 0x0
|
||||
- FirmwareResetStatusFailed = 0x1
|
||||
- FirmwareResetStatusUnknown = 0x2
|
||||
-
|
||||
- def __init__(self, regAccessObj):
|
||||
- self._RegAccessObj = regAccessObj
|
||||
- self._UptimeBeforeReset = 0x0
|
||||
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
|
||||
- self._UptimeAfterReset = 0x0
|
||||
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
|
||||
-
|
||||
- def UpdateUptimeBeforeReset(self):
|
||||
- try:
|
||||
- self._UptimeBeforeReset = self._RegAccessObj.getFWUptime()
|
||||
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone
|
||||
- except Exception as e:
|
||||
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
|
||||
-
|
||||
- def UpdateUptimeAfterReset(self):
|
||||
- try:
|
||||
- self._UptimeAfterReset = self._RegAccessObj.getFWUptime()
|
||||
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone
|
||||
- except Exception as e:
|
||||
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
|
||||
-
|
||||
- def GetStatus(self):
|
||||
- if self._UptimeBeforeStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone and\
|
||||
- self._UptimeAfterStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone:
|
||||
- if self._UptimeAfterReset < self._UptimeBeforeReset:
|
||||
- return FirmwareResetStatusChecker.FirmwareResetStatusDone
|
||||
- else:
|
||||
- if self._UptimeBeforeReset > 5: #5 seconds
|
||||
- return FirmwareResetStatusChecker.FirmwareResetStatusFailed
|
||||
- else:
|
||||
- return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
|
||||
- return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
|
||||
\ No newline at end of file
|
||||
+#!/usr/bin/python
|
||||
+
|
||||
+# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
|
||||
+#
|
||||
+# This software is available to you under a choice of one of two
|
||||
+# licenses. You may choose to be licensed under the terms of the GNU
|
||||
+# General Public License (GPL) Version 2, available from the file
|
||||
+# COPYING in the main directory of this source tree, or the
|
||||
+# OpenIB.org BSD license below:
|
||||
+#
|
||||
+# Redistribution and use in source and binary forms, with or
|
||||
+# without modification, are permitted provided that the following
|
||||
+# conditions are met:
|
||||
+#
|
||||
+# - Redistributions of source code must retain the above
|
||||
+# copyright notice, this list of conditions and the following
|
||||
+# disclaimer.
|
||||
+#
|
||||
+# - Redistributions in binary form must reproduce the above
|
||||
+# copyright notice, this list of conditions and the following
|
||||
+# disclaimer in the documentation and/or other materials
|
||||
+# provided with the distribution.
|
||||
+#
|
||||
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
+# SOFTWARE.
|
||||
+#--
|
||||
+
|
||||
+"""
|
||||
+* $Id : fwreset_status_checker.py 2017-11-28
|
||||
+* $Authors : Ahmad Soboh (ahmads@mellanox.com)
|
||||
+"""
|
||||
+
|
||||
+######################################################################
|
||||
+# Description: FirmwareResetStatusChecker
|
||||
+# OS Support : Linux/Windows.
|
||||
+######################################################################
|
||||
+
|
||||
+
|
||||
+class FirmwareResetStatusChecker(object):
|
||||
+
|
||||
+ FirmwareUptimeStatusInit = 0x0
|
||||
+ FirmwareUptimeStatusBeforeDone = 0x1
|
||||
+ FirmwareUptimeStatusAfterDone = 0x2
|
||||
+ FirmwareUptimeStatusError = 0x3
|
||||
+
|
||||
+ FirmwareResetStatusDone = 0x0
|
||||
+ FirmwareResetStatusFailed = 0x1
|
||||
+ FirmwareResetStatusUnknown = 0x2
|
||||
+
|
||||
+ def __init__(self, regAccessObj):
|
||||
+ self._RegAccessObj = regAccessObj
|
||||
+ self._UptimeBeforeReset = 0x0
|
||||
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
|
||||
+ self._UptimeAfterReset = 0x0
|
||||
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
|
||||
+
|
||||
+ def UpdateUptimeBeforeReset(self):
|
||||
+ try:
|
||||
+ self._UptimeBeforeReset = self._RegAccessObj.getFWUptime()
|
||||
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone
|
||||
+ except Exception as e:
|
||||
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
|
||||
+
|
||||
+ def UpdateUptimeAfterReset(self):
|
||||
+ try:
|
||||
+ self._UptimeAfterReset = self._RegAccessObj.getFWUptime()
|
||||
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone
|
||||
+ except Exception as e:
|
||||
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
|
||||
+
|
||||
+ def GetStatus(self):
|
||||
+ if self._UptimeBeforeStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone and\
|
||||
+ self._UptimeAfterStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone:
|
||||
+ if self._UptimeAfterReset < self._UptimeBeforeReset:
|
||||
+ return FirmwareResetStatusChecker.FirmwareResetStatusDone
|
||||
+ else:
|
||||
+ if self._UptimeBeforeReset > 5: #5 seconds
|
||||
+ return FirmwareResetStatusChecker.FirmwareResetStatusFailed
|
||||
+ else:
|
||||
+ return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
|
||||
+ return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
|
@ -3,15 +3,12 @@
|
||||
Name: mstflint
|
||||
Summary: Mellanox firmware burning tool
|
||||
Version: 4.11.0
|
||||
Release: 4%{?dist}
|
||||
Release: 5%{?dist}
|
||||
License: GPLv2+ or BSD
|
||||
Group: Applications/System
|
||||
Source: https://github.com/Mellanox/mstflint/releases/download/v4.11.0-3/mstflint-4.11.0-3.tar.gz
|
||||
Patch1: convert-format-for-mlxfwreset_status_checker.patch
|
||||
Patch2: 0001-Fix-shebang-for-python-scripts.patch
|
||||
Source: https://github.com/Mellanox/mstflint/releases/download/v4.11.0-4/mstflint-4.11.0-4.tar.gz
|
||||
Patch3: extend-buffer.patch
|
||||
Patch4: add-default-link-flags-for-shared-libraries.patch
|
||||
Patch5: 0001-mstflint-crash-when-compiled-with-CXXFLAGS-Wp-D_GLIB.patch
|
||||
Patch6: replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch
|
||||
Url: https://github.com/Mellanox/mstflint
|
||||
BuildRequires: libstdc++-devel, zlib-devel, libibmad-devel, gcc-c++, gcc
|
||||
@ -29,11 +26,8 @@ for network adapters based on Mellanox Technologies chips.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
find . -type f -iname '*.[ch]' -exec chmod a-x '{}' ';'
|
||||
find . -type f -iname '*.cpp' -exec chmod a-x '{}' ';'
|
||||
@ -71,6 +65,9 @@ find %{buildroot} -type f -name pci_device.py -exec chmod -v a+x '{}' ';'
|
||||
%{_mandir}/man1/*
|
||||
|
||||
%changelog
|
||||
* Mon Apr 15 2019 Honggang Li <honli@redhat.com> - 4.11.0-5
|
||||
- Rebase mstflint to latest upstream release v4.11.0-4
|
||||
|
||||
* Fri Feb 22 2019 Honggang Li <honli@redhat.com> - 4.11.0-4
|
||||
- Fix mstflint segment fault issue for ConnectX-5 HCA
|
||||
- Resolves: 1679844
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git a/flint/subcommands.cpp b/flint/subcommands.cpp
|
||||
index 8c85e55..0822e8b 100644
|
||||
index 3840579..3d2680b 100644
|
||||
--- a/flint/subcommands.cpp
|
||||
+++ b/flint/subcommands.cpp
|
||||
@@ -2997,7 +2997,7 @@ FlintStatus SgSubCommand::sgFs2()
|
||||
@@ -3018,7 +3018,7 @@ FlintStatus SgSubCommand::sgFs2()
|
||||
return FLINT_SUCCESS;
|
||||
}
|
||||
|
||||
@ -12,15 +12,15 @@ index 8c85e55..0822e8b 100644
|
||||
FlintStatus SgSubCommand::sgFs3()
|
||||
{
|
||||
diff --git a/mlxfwops/lib/flint_base.h b/mlxfwops/lib/flint_base.h
|
||||
index eb434dc..e851085 100644
|
||||
index be7a913..e7e7b64 100644
|
||||
--- a/mlxfwops/lib/flint_base.h
|
||||
+++ b/mlxfwops/lib/flint_base.h
|
||||
@@ -394,7 +394,7 @@ struct BOARD_ID {
|
||||
#define TLV_FORMAT_SECT "TLVs format section"
|
||||
@@ -395,7 +395,7 @@ struct BOARD_ID {
|
||||
#define TRACER_HASH_SECT "Tracer Hash section"
|
||||
#define REBOOT_REQUIRED_STR "To load new FW run reboot machine."
|
||||
#ifndef MST_UL
|
||||
-#define REBOOT_OR_FWRESET_REQUIRED_STR "To load new FW run mlxfwreset or reboot machine."
|
||||
+#define REBOOT_OR_FWRESET_REQUIRED_STR "To load new FW run mstfwreset or reboot machine."
|
||||
#define numbel(x) (sizeof(x) / sizeof((x)[0]))
|
||||
|
||||
void report(const char *format, ...);
|
||||
#else
|
||||
#define REBOOT_OR_FWRESET_REQUIRED_STR "To load new FW run mstfwreset or reboot machine."
|
||||
#endif
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (mstflint-4.11.0-3.tar.gz) = a7482442df08f97a6e225f8352ce17d361abda1ebe1cff6e9350ece31aaa36c1a7fb1d28751acef7a40ef9f53801aa9b4bfe97f210a9a97c3d2030961dc99da3
|
||||
SHA512 (mstflint-4.11.0-4.tar.gz) = cdcae2ccf2dc5b24f03fe80b9abc3c8f198254b77eb4f20e48b9473e21b817305f800758147e9bd61642e53698bf9e1d22397c0cae6d8eb1a759f68626d499a2
|
||||
|
Loading…
Reference in New Issue
Block a user