From: Paul Greenwalt <paul.greenw...@intel.com> With E830 Get Tx Topology AQ command (opcode 0x0418) returns an error when setting the AQ command read flag, and since the get command is a direct command there is no need to set the read flag.
Fix this by only setting read flag on set command. Signed-off-by: Paul Greenwalt <paul.greenw...@intel.com> Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com> --- drivers/net/ethernet/intel/ice/ice_ddp.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/intel/ice/ice_ddp.c b/drivers/net/ethernet/intel/ice/ice_ddp.c index 03988be03729b76e96188864896527060c8c4d5b..49bd49ab3ccf36c990144894e887341459377a2d 100644 --- a/drivers/net/ethernet/intel/ice/ice_ddp.c +++ b/drivers/net/ethernet/intel/ice/ice_ddp.c @@ -2345,15 +2345,15 @@ ice_get_set_tx_topo(struct ice_hw *hw, u8 *buf, u16 buf_size, cmd->set_flags |= ICE_AQC_TX_TOPO_FLAGS_SRC_RAM | ICE_AQC_TX_TOPO_FLAGS_LOAD_NEW; - if (ice_is_e825c(hw)) - desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD); + desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD); } else { ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_get_tx_topo); cmd->get_flags = ICE_AQC_TX_TOPO_GET_RAM; - } - if (!ice_is_e825c(hw)) - desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD); + if (hw->mac_type != ICE_MAC_GENERIC_3K_E825 && + hw->mac_type != ICE_MAC_E830) + desc.flags |= cpu_to_le16(ICE_AQ_FLAG_RD); + } status = ice_aq_send_cmd(hw, &desc, buf, buf_size, cd); if (status) --- base-commit: f5da7c45188eea71394bf445655cae2df88a7788 change-id: 20250218-jk-e830-ddp-loading-fix-9efdbdfc270a Best regards, -- Jacob Keller <jacob.e.kel...@intel.com>