According to SGVL EAS Host interface Shadow RAM Read (0x31)
command response buffer length is stored in two bytes,
instead of one byte.

Signed-off-by: Mateusz Kowalski <mateusz.kowal...@intel.com>
Signed-off-by: Guinan Sun <guinanx....@intel.com>
---
 drivers/net/ixgbe/base/ixgbe_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/base/ixgbe_common.c 
b/drivers/net/ixgbe/base/ixgbe_common.c
index 36c003844..9e3b71e38 100644
--- a/drivers/net/ixgbe/base/ixgbe_common.c
+++ b/drivers/net/ixgbe/base/ixgbe_common.c
@@ -4656,7 +4656,7 @@ s32 ixgbe_host_interface_command(struct ixgbe_hw *hw, u32 
*buffer,
         * Read Flash command requires reading buffer length from
         * two byes instead of one byte
         */
-       if (resp->cmd == 0x30) {
+       if (resp->cmd == 0x30 || resp->cmd == 0x31) {
                for (; bi < dword_len + 2; bi++) {
                        buffer[bi] = IXGBE_READ_REG_ARRAY(hw, IXGBE_FLEX_MNG,
                                                          bi);
-- 
2.17.1

Reply via email to