aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuinan Sun <guinanx.sun@intel.com>2020-07-09 08:00:29 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2021-09-14 00:42:57 +0000
commit5da82378eccec7bde2617e7591932e4c67431c40 (patch)
treebba08e15b09ca3a80aa40613fde6956fed00a374
parent925f00e23ea797ad29e13fc471c139f47648c6d2 (diff)
downloadsrc-5da82378eccec7bde2617e7591932e4c67431c40.tar.gz
src-5da82378eccec7bde2617e7591932e4c67431c40.zip
ixgbe: fix response to apply-update command
For the "Apply Update" command the firmware does not given an response. For this command, success should be return. Signed-off-by: Mateusz Kowalski <mateusz.kowalski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Reviewed-by: Wei Zhao <wei.zhao1@intel.com> Approved by: imp Obtained from: DPDK (03b09c71c0c6c516ce05cad8e8aa75e8b9e14fba) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31621 (cherry picked from commit c966c431c764c493fafbe65b717243a3c0b291be)
-rw-r--r--sys/dev/ixgbe/ixgbe_common.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/ixgbe/ixgbe_common.c b/sys/dev/ixgbe/ixgbe_common.c
index 85228c82061c..f14b745f3115 100644
--- a/sys/dev/ixgbe/ixgbe_common.c
+++ b/sys/dev/ixgbe/ixgbe_common.c
@@ -4557,11 +4557,18 @@ s32 ixgbe_hic_unlocked(struct ixgbe_hw *hw, u32 *buffer, u32 length,
msec_delay(1);
}
+ /* For each command except "Apply Update" perform
+ * status checks in the HICR registry.
+ */
+ if ((buffer[0] & IXGBE_HOST_INTERFACE_MASK_CMD) ==
+ IXGBE_HOST_INTERFACE_APPLY_UPDATE_CMD)
+ return IXGBE_SUCCESS;
+
/* Check command completion */
if ((timeout && i == timeout) ||
!(IXGBE_READ_REG(hw, IXGBE_HICR) & IXGBE_HICR_SV)) {
ERROR_REPORT1(IXGBE_ERROR_CAUTION,
- "Command has failed with no status valid.\n");
+ "Command has failed with no status valid.\n");
return IXGBE_ERR_HOST_INTERFACE_COMMAND;
}