Эх сурвалжийг харах

brcmfmac: Fix sign issue with IOCTL return code in msgbuf.

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>
Hante Meuleman 11 жил өмнө
parent
commit
ff0a623060

+ 3 - 2
drivers/net/wireless/brcm80211/brcmfmac/msgbuf.c

@@ -230,7 +230,7 @@ struct brcmf_msgbuf {
 	dma_addr_t ioctbuf_handle;
 	dma_addr_t ioctbuf_handle;
 	u32 ioctbuf_phys_hi;
 	u32 ioctbuf_phys_hi;
 	u32 ioctbuf_phys_lo;
 	u32 ioctbuf_phys_lo;
-	u32 ioctl_resp_status;
+	int ioctl_resp_status;
 	u32 ioctl_resp_ret_len;
 	u32 ioctl_resp_ret_len;
 	u32 ioctl_resp_pktid;
 	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;
 	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_ret_len = le16_to_cpu(ioctl_resp->resp_len);
 	msgbuf->ioctl_resp_pktid = le32_to_cpu(ioctl_resp->msg.request_id);
 	msgbuf->ioctl_resp_pktid = le32_to_cpu(ioctl_resp->msg.request_id);