A few functions failed to properly convert some values into Little
Endian format before sending them to the firmware. This will produce
incorrect results when running on a Big Endian platform.

Fix this by adding the necessary CPU_TO_LE* macros around the input
to firmware.

These issues were detected by sparse.

Fixes: 0f61c2af88c8 ("net/ice/base: add set/get GPIO helper functions")
Cc: sta...@dpdk.org

Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com>
Signed-off-by: Qi Zhang <qi.z.zh...@intel.com>
---
 drivers/net/ice/base/ice_common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ice/base/ice_common.c 
b/drivers/net/ice/base/ice_common.c
index 57602a31e1..cb06fdf42b 100644
--- a/drivers/net/ice/base/ice_common.c
+++ b/drivers/net/ice/base/ice_common.c
@@ -4028,7 +4028,7 @@ ice_aq_read_topo_dev_nvm(struct ice_hw *hw,
 
        ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_read_topo_dev_nvm);
 
-       desc.datalen = data_size;
+       desc.datalen = CPU_TO_LE16(data_size);
        ice_memcpy(&cmd->topo_params, topo_params, sizeof(*topo_params),
                   ICE_NONDMA_TO_NONDMA);
        cmd->start_address = CPU_TO_LE32(start_address);
@@ -5682,7 +5682,7 @@ ice_aq_set_gpio(struct ice_hw *hw, u16 gpio_ctrl_handle, 
u8 pin_idx, bool value,
 
        ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_set_gpio);
        cmd = &desc.params.read_write_gpio;
-       cmd->gpio_ctrl_handle = gpio_ctrl_handle;
+       cmd->gpio_ctrl_handle = CPU_TO_LE16(gpio_ctrl_handle);
        cmd->gpio_num = pin_idx;
        cmd->gpio_val = value ? 1 : 0;
 
@@ -5710,7 +5710,7 @@ ice_aq_get_gpio(struct ice_hw *hw, u16 gpio_ctrl_handle, 
u8 pin_idx,
 
        ice_fill_dflt_direct_cmd_desc(&desc, ice_aqc_opc_get_gpio);
        cmd = &desc.params.read_write_gpio;
-       cmd->gpio_ctrl_handle = gpio_ctrl_handle;
+       cmd->gpio_ctrl_handle = CPU_TO_LE16(gpio_ctrl_handle);
        cmd->gpio_num = pin_idx;
 
        status = ice_aq_send_cmd(hw, &desc, NULL, 0, cd);
-- 
2.31.1

Reply via email to