ixgbe: check host interface return status

Writing to read-only fields returns a non-OK Return Status
for shadow RAM write command for X550.
This information was previously discarded.

Signed-off-by: Stanislaw Grzeszczak <stanislaw.a.grzeszczak@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 (db18e37090a3b9af47d6a6886248520f6b220bf9)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D31621
This commit is contained in:
Guinan Sun 2020-07-09 08:00:44 +00:00 committed by Kevin Bowling
parent b3ebe337ff
commit c1a56b6f5f

View File

@ -3259,7 +3259,18 @@ s32 ixgbe_write_ee_hostif_data_X550(struct ixgbe_hw *hw, u16 offset,
status = ixgbe_host_interface_command(hw, (u32 *)&buffer,
sizeof(buffer),
IXGBE_HI_COMMAND_TIMEOUT, FALSE);
IXGBE_HI_COMMAND_TIMEOUT, TRUE);
if (status != IXGBE_SUCCESS) {
DEBUGOUT2("for offset %04x failed with status %d\n",
offset, status);
return status;
}
if (buffer.hdr.rsp.buf_lenh_status != FW_CEM_RESP_STATUS_SUCCESS) {
DEBUGOUT2("for offset %04x host interface return status %02x\n",
offset, buffer.hdr.rsp.buf_lenh_status);
return IXGBE_ERR_HOST_INTERFACE_COMMAND;
}
return status;
}