aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuinan Sun <guinanx.sun@intel.com>2020-07-09 08:00:40 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2021-09-14 00:37:05 +0000
commitee690406343dc8bd34992f6d4e0871726ee42279 (patch)
tree2f1c8462ff31c9d22cb0bb2260c7e4014cb708b2
parent6cd58ec393513b77225579fdd83dd39bb32fe9bd (diff)
downloadsrc-ee690406343dc8bd34992f6d4e0871726ee42279.tar.gz
src-ee690406343dc8bd34992f6d4e0871726ee42279.zip
ixgbe: initialize data field in struct buffer
While sending request using ixgbe_hic_unlocked() the data field in buffer struct is not used. It is set when the struct is overwritten by FW to deliver the response. To not pass random data to FW the whole structure should be zeroed before use. Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Signed-off-by: Piotr Pietruszewski <piotr.pietruszewski@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 (40543be5376ca415b2a7e196315d0555725b8bdf) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31621 (cherry picked from commit b3ebe337ffa06b0f1f460bf8f1e42fb55db77d0b)
-rw-r--r--sys/dev/ixgbe/ixgbe_x550.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/ixgbe/ixgbe_x550.c b/sys/dev/ixgbe/ixgbe_x550.c
index 03904c026cae..02db10b61673 100644
--- a/sys/dev/ixgbe/ixgbe_x550.c
+++ b/sys/dev/ixgbe/ixgbe_x550.c
@@ -3137,6 +3137,7 @@ s32 ixgbe_read_ee_hostif_X550(struct ixgbe_hw *hw, u16 offset, u16 *data)
/* one word */
buffer.length = IXGBE_CPU_TO_BE16(sizeof(u16));
buffer.pad2 = 0;
+ buffer.data = 0;
buffer.pad3 = 0;
status = hw->mac.ops.acquire_swfw_sync(hw, mask);
@@ -3197,6 +3198,7 @@ s32 ixgbe_read_ee_hostif_buffer_X550(struct ixgbe_hw *hw,
buffer.address = IXGBE_CPU_TO_BE32((offset + current_word) * 2);
buffer.length = IXGBE_CPU_TO_BE16(words_to_read * 2);
buffer.pad2 = 0;
+ buffer.data = 0;
buffer.pad3 = 0;
status = ixgbe_hic_unlocked(hw, (u32 *)&buffer, sizeof(buffer),