wl1271: Correct endianness-handling of command status
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>
Mon, 2 Nov 2009 18:22:12 +0000 (20:22 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 2 Nov 2009 20:43:35 +0000 (15:43 -0500)
Correct the endianness-handling of the firmware command result status handling
code.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1271_cmd.c

index 46e5ea4..8acee5c 100644 (file)
@@ -48,6 +48,7 @@ int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len)
        unsigned long timeout;
        u32 intr;
        int ret = 0;
+       u16 status;
 
        cmd = buf;
        cmd->id = cpu_to_le16(id);
@@ -78,8 +79,9 @@ int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len)
        wl1271_spi_read(wl, wl->cmd_box_addr, cmd,
                        sizeof(struct wl1271_cmd_header), false);
 
-       if (cmd->status != CMD_STATUS_SUCCESS) {
-               wl1271_error("command execute failure %d", cmd->status);
+       status = le16_to_cpu(cmd->status);
+       if (status != CMD_STATUS_SUCCESS) {
+               wl1271_error("command execute failure %d", status);
                ret = -EIO;
        }