Return-path: Received: from wolverine02.qualcomm.com ([199.106.114.251]:22243 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752292Ab3GUHGm (ORCPT ); Sun, 21 Jul 2013 03:06:42 -0400 From: Vladimir Kondratiev To: Larry Finger CC: , , , , Stable , Thomas Fjellstrom Subject: Re: [PATCH] ath: wil6210: Fix build error Date: Sun, 21 Jul 2013 10:06:31 +0300 Message-ID: <1958736.oRuXAUfNGd@lx-vladimir> (sfid-20130721_090705_842512_EB1E148D) In-Reply-To: <1374374808-12768-1-git-send-email-Larry.Finger@lwfinger.net> References: <1374374808-12768-1-git-send-email-Larry.Finger@lwfinger.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: linux-wireless-owner@vger.kernel.org List-ID: On Saturday, July 20, 2013 09:46:48 PM Larry Finger wrote: > Building driver wil6210 in 3.10 and 3.11 kernels yields the following errors: > > CC [M] drivers/net/wireless/ath/wil6210/debugfs.o > drivers/net/wireless/ath/wil6210/debugfs.c: In function 'wil_print_ring': > drivers/net/wireless/ath/wil6210/debugfs.c:163:11: error: pointer targets in passing argument 5 of 'hex_dump_to_buffer' differ in signedness [-Werror=pointer-sign] > false); > ^ > In file included from include/linux/kernel.h:13:0, > from include/linux/cache.h:4, > from include/linux/time.h:4, > from include/linux/stat.h:18, > from include/linux/module.h:10, > from drivers/net/wireless/ath/wil6210/debugfs.c:17: > include/linux/printk.h:361:13: note: expected 'char *' but argument is of type 'unsigned char *' > extern void hex_dump_to_buffer(const void *buf, size_t len, > ^ > drivers/net/wireless/ath/wil6210/debugfs.c: In function 'wil_txdesc_debugfs_show': > drivers/net/wireless/ath/wil6210/debugfs.c:429:10: error: pointer targets in passing argument 5 of 'hex_dump_to_buffer' differ in signedness [-Werror=pointer-sign] > sizeof(printbuf), false); > ^ > In file included from include/linux/kernel.h:13:0, > from include/linux/cache.h:4, > from include/linux/time.h:4, > from include/linux/stat.h:18, > from include/linux/module.h:10, > from drivers/net/wireless/ath/wil6210/debugfs.c:17: > include/linux/printk.h:361:13: note: expected 'char *' but argument is of type 'unsigned char *' > extern void hex_dump_to_buffer(const void *buf, size_t len, > ^ > cc1: all warnings being treated as errors > make[5]: *** [drivers/net/wireless/ath/wil6210/debugfs.o] Error 1 > make[4]: *** [drivers/net/wireless/ath/wil6210] Error 2 > make[3]: *** [drivers/net/wireless/ath] Error 2 > make[2]: *** [drivers/net/wireless] Error 2 > make[1]: *** [drivers/net] Error 2 > make: *** [drivers] Error 2 > > These errors are fixed by changing the type of the buffer from "unsigned char *" to "char *". > > Reported-by: Thomas Fjellstrom > Tested-by: Thomas Fjellstrom > Signed-off-by: Larry Finger > Cc: Stable [3.10] > Cc: Thomas Fjellstrom > --- > drivers/net/wireless/ath/wil6210/debugfs.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/ath/wil6210/debugfs.c b/drivers/net/wireless/ath/wil6210/debugfs.c > index e8308ec..ab63676 100644 > --- a/drivers/net/wireless/ath/wil6210/debugfs.c > +++ b/drivers/net/wireless/ath/wil6210/debugfs.c > @@ -145,7 +145,7 @@ static void wil_print_ring(struct seq_file *s, const char *prefix, > le16_to_cpu(hdr.type), hdr.flags); > if (len <= MAX_MBOXITEM_SIZE) { > int n = 0; > - unsigned char printbuf[16 * 3 + 2]; > + char printbuf[16 * 3 + 2]; > unsigned char databuf[MAX_MBOXITEM_SIZE]; > void __iomem *src = wmi_buffer(wil, d.addr) + > sizeof(struct wil6210_mbox_hdr); > @@ -416,7 +416,7 @@ static int wil_txdesc_debugfs_show(struct seq_file *s, void *data) > seq_printf(s, " SKB = %p\n", skb); > > if (skb) { > - unsigned char printbuf[16 * 3 + 2]; > + char printbuf[16 * 3 + 2]; > int i = 0; > int len = le16_to_cpu(d->dma.length); > void *p = skb->data; > Hmm, I have no warning for this with neither 3.10 nor 3.11 kernel version; but patch is correct, and here is my Signed-off-by: Vladimir Kondratiev