Events are stored as a circular buffer of integers. An event is of type
__le16, to store this in the buffer we need to convert it to the
endianess of the cpu.

Call le16_to_cpu() before adding event to events buffer.

Signed-off-by: Tobin C. Harding <m...@tobin.cc>
---
 drivers/staging/ks7010/ks7010_sdio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/ks7010/ks7010_sdio.c 
b/drivers/staging/ks7010/ks7010_sdio.c
index 6083b7e..c47583d 100644
--- a/drivers/staging/ks7010/ks7010_sdio.c
+++ b/drivers/staging/ks7010/ks7010_sdio.c
@@ -357,7 +357,7 @@ int ks_wlan_hw_tx(struct ks_wlan_private *priv, void *p, 
unsigned long size,
        }
 
        /* add event to hostt buffer */
-       priv->hostt.buff[priv->hostt.qtail] = hdr->event;
+       priv->hostt.buff[priv->hostt.qtail] = le16_to_cpu(hdr->event);
        priv->hostt.qtail = (priv->hostt.qtail + 1) % SME_EVENT_BUFF_SIZE;
 
        DPRINTK(4, "event=%04X\n", hdr->event);
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to