Dear Piotr,

Thank you for your patch.

Am 16.01.26 um 13:23 schrieb Piotr Kwapulinski:
Fix a possible ACI issue on big-endian platforms.

Please elaborate, why this is needed, and `raw_desc[i]` needs to be converted.

For the summary/title, you could also be more specific. Something like:

> ixgbe: e610: Convert ACI descriptor buffer(?) to little endian

Fixes: 46761fd52a88 ("ixgbe: Add support for E610 FW Admin Command Interface")
Reviewed-by: Aleksandr Loktionov <[email protected]>
Signed-off-by: Piotr Kwapulinski <[email protected]>
---
  drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 7 ++++---
  1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c 
b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
index c2f8189..f494e90 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
@@ -113,7 +113,8 @@ static int ixgbe_aci_send_cmd_execute(struct ixgbe_hw *hw,
/* Descriptor is written to specific registers */
        for (i = 0; i < IXGBE_ACI_DESC_SIZE_IN_DWORDS; i++)
-               IXGBE_WRITE_REG(hw, IXGBE_PF_HIDA(i), raw_desc[i]);
+               IXGBE_WRITE_REG(hw, IXGBE_PF_HIDA(i),
+                               le32_to_cpu(raw_desc[i]));
/* SW has to set PF_HICR.C bit and clear PF_HICR.SV and
         * PF_HICR_EV
@@ -145,7 +146,7 @@ static int ixgbe_aci_send_cmd_execute(struct ixgbe_hw *hw,
        if ((hicr & IXGBE_PF_HICR_SV)) {
                for (i = 0; i < IXGBE_ACI_DESC_SIZE_IN_DWORDS; i++) {
                        raw_desc[i] = IXGBE_READ_REG(hw, IXGBE_PF_HIDA(i));
-                       raw_desc[i] = raw_desc[i];
+                       raw_desc[i] = cpu_to_le32(raw_desc[i]);
                }
        }
@@ -153,7 +154,7 @@ static int ixgbe_aci_send_cmd_execute(struct ixgbe_hw *hw,
        if ((hicr & IXGBE_PF_HICR_EV) && !(hicr & IXGBE_PF_HICR_C)) {
                for (i = 0; i < IXGBE_ACI_DESC_SIZE_IN_DWORDS; i++) {
                        raw_desc[i] = IXGBE_READ_REG(hw, IXGBE_PF_HIDA_2(i));
-                       raw_desc[i] = raw_desc[i];
+                       raw_desc[i] = cpu_to_le32(raw_desc[i]);
                }
        }


Kind regards,

Paul

Reply via email to