net/ixgbe/base: initialize data field in struct buffer
authorGuinan Sun <guinanx.sun@intel.com>
Thu, 9 Jul 2020 08:00:40 +0000 (08:00 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Sat, 11 Jul 2020 04:18:53 +0000 (06:18 +0200)
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>
drivers/net/ixgbe/base/ixgbe_x550.c

index d3363ff..8343efb 100644 (file)
@@ -3126,6 +3126,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);
@@ -3186,6 +3187,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),