This is an automated email from Gerrit.

Antonio Borneo ([email protected]) just uploaded a new patch set to 
Gerrit, which you can find at http://openocd.zylin.com/4778

-- gerrit

commit 1c46053dd5fa77c4a0dad0e9e9b5a22b1f79b02f
Author: Antonio Borneo <[email protected]>
Date:   Mon Nov 26 15:52:51 2018 +0100

    flash/stmsmi: fix byte order for big-endian host
    
    The original code was written for and tested on little-endian
    host only.
    
    Rewrite it to be independent by host endianess.
    Not tested on real HW; I don't own anymore a SPEAr device.
    
    Change-Id: I2f427a804693f56cb9dea4936c525eb814c48c28
    Signed-off-by: Antonio Borneo <[email protected]>
    Reported-by: Tomas Vanek <[email protected]>

diff --git a/src/flash/nor/stmsmi.c b/src/flash/nor/stmsmi.c
index c839bf7..b0dc630 100644
--- a/src/flash/nor/stmsmi.c
+++ b/src/flash/nor/stmsmi.c
@@ -269,17 +269,14 @@ static int smi_write_enable(struct flash_bank *bank)
 static uint32_t erase_command(struct stmsmi_flash_bank *stmsmi_info,
        uint32_t offset)
 {
-       union {
-               uint32_t command;
-               uint8_t x[4];
-       } cmd;
-
-       cmd.x[0] = stmsmi_info->dev->erase_cmd;
-       cmd.x[1] = offset >> 16;
-       cmd.x[2] = offset >> 8;
-       cmd.x[3] = offset;
-
-       return cmd.command;
+       uint8_t cmd_bytes[] = {
+               stmsmi_info->dev->erase_cmd,
+               offset >> 16,
+               offset >> 8,
+               offset
+       };
+
+       return le_to_h_u32(cmd_bytes);
 }
 
 static int smi_erase_sector(struct flash_bank *bank, int sector)

-- 


_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to