mwifiex: Add missing endian conversion.
authorTomasz Moń <desowin@gmail.com>
Tue, 23 Jul 2013 05:42:49 +0000 (07:42 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 26 Jul 2013 20:59:01 +0000 (16:59 -0400)
Both type and pkt_len variables are in host endian and these should be in
Little Endian in the payload.

Signed-off-by: Tomasz Moń <desowin@gmail.com>
Acked-by: Bing Zhao <bzhao@marvell.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwifiex/sdio.c

index 5ef49f2e375a13f768286dafcb143a540ac3a273..09185c9632483b324d63953652ac6acc93a36752 100644 (file)
@@ -1639,8 +1639,8 @@ static int mwifiex_sdio_host_to_card(struct mwifiex_adapter *adapter,
        /* Allocate buffer and copy payload */
        blk_size = MWIFIEX_SDIO_BLOCK_SIZE;
        buf_block_len = (pkt_len + blk_size - 1) / blk_size;
-       *(u16 *) &payload[0] = (u16) pkt_len;
-       *(u16 *) &payload[2] = type;
+       *(__le16 *)&payload[0] = cpu_to_le16((u16)pkt_len);
+       *(__le16 *)&payload[2] = cpu_to_le16(type);
 
        /*
         * This is SDIO specific header