brcmfmac: Fix sign issue with IOCTL return code in msgbuf.
authorHante Meuleman <meuleman@broadcom.com>
Tue, 30 Sep 2014 08:23:14 +0000 (10:23 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 30 Sep 2014 17:17:47 +0000 (13:17 -0400)
Need a cast to assure correct value is propagated.

Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c

index 8f8b937..106e6bf 100644 (file)
@@ -230,7 +230,7 @@ struct brcmf_msgbuf {
        dma_addr_t ioctbuf_handle;
        u32 ioctbuf_phys_hi;
        u32 ioctbuf_phys_lo;
-       u32 ioctl_resp_status;
+       int ioctl_resp_status;
        u32 ioctl_resp_ret_len;
        u32 ioctl_resp_pktid;
 
@@ -767,7 +767,8 @@ brcmf_msgbuf_process_ioctl_complete(struct brcmf_msgbuf *msgbuf, void *buf)
 
        ioctl_resp = (struct msgbuf_ioctl_resp_hdr *)buf;
 
-       msgbuf->ioctl_resp_status = le16_to_cpu(ioctl_resp->compl_hdr.status);
+       msgbuf->ioctl_resp_status =
+                       (s16)le16_to_cpu(ioctl_resp->compl_hdr.status);
        msgbuf->ioctl_resp_ret_len = le16_to_cpu(ioctl_resp->resp_len);
        msgbuf->ioctl_resp_pktid = le32_to_cpu(ioctl_resp->msg.request_id);