[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1559869.yu0fjJXVeX@balsa>
Date: Sun, 21 Jul 2013 09:35:40 -0600
From: Thomas Fjellstrom <thomas@...llstrom.ca>
To: Larry Finger <Larry.Finger@...inger.net>
Cc: Vladimir Kondratiev <qca_vkondrat@....qualcomm.com>,
linville@...driver.com, linux-wireless@...r.kernel.org,
netdev@...r.kernel.org, wil6210@....qualcomm.com,
Stable <stable@...r.kernel.org>
Subject: Re: [PATCH] ath: wil6210: Fix build error
On Sun 21 July 2013 10:14:03 Larry Finger wrote:
> On 07/21/2013 02:06 AM, Vladimir Kondratiev wrote:
> > 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 <thomas@...llstrom.ca>
> >> Tested-by: Thomas Fjellstrom <thomas@...llstrom.ca>
> >> Signed-off-by: Larry Finger <Larry.Finger@...inger.net>
> >> Cc: Stable <stable@...r.kernel.org> [3.10]
> >> Cc: Thomas Fjellstrom <thomas@...llstrom.ca>
> >> ---
> >> 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 <qca_vkondrat@....qualcomm.com>
>
> Thanks. I did not see any warning or error either; however, it did happen
for
> Thomas. I'm not sure what combination of compiler version and/or switches
lead
> to the problem, but his system apparently uses them.
If it helps, I'm running a fresh install of Debian Sid with gcc 4.8.1. I've
noticed that each newer successive version of gcc gets more strict with what
code it accepts without warning, or error. A lot of my only somewhat old code
tends to have a lot more warnings. Especially that signedness warning.
It also looked like that that driver or section of the kernel was compiling
with -Werror. I haven't verrified that but I remember seeing "treating all
warnings as errors" at one point.
> Larry
>
>
--
Thomas Fjellstrom
thomas@...llstrom.ca
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists