wil6210 driver compilation failure
Hi,
Recently while trying to figure out a separate issue, I did a make allmodconfig and a make oldconfig with debian's default config on the 3.10.1 kernel, and debian's config with 3.10.0.
It failed in the wil6210 driver.
The system it failed on is running a fresh install of Debian Sid, with gcc 4.8.1.
This is the error I got:
CC [M] drivers/net/wireless/ath/wil6210/debugfs.odrivers/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
please excuse the mangled quotes, fresh install and I negelected to set up the locale properly. It's fixed now, but it seems I need to restart X for it to notice.
Signature · 2 lines
Thomas Fjellstrom [email protected]
Quoted 48 lines · Thomas Fjellstrom
Hi,
Recently while trying to figure out a separate issue, I did a make allmodconfig and a make oldconfig with debian's default config on the 3.10.1 kernel, and debian's config with 3.10.0.
It failed in the wil6210 driver.
The system it failed on is running a fresh install of Debian Sid, with gcc 4.8.1.
This is the error I got:
CC [M]
drivers/net/wireless/ath/wil6210/debugfs.odrivers/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
Quoted 3 lines
please excuse the mangled quotes, fresh install and I negelected to set up the locale properly. It's fixed now, but it seems I need to restart X for it to notice.
This error should be fixed by the attached patch. Please test.
Note that my system did not issue a warning for this "problem". It seems we have different warnings turned on in the compiler.
Larry
drivers/net/wireless/ath/wil6210/debugfs.c +1 -1
@@ -145,7 +145,7 @@ static void wil_print_ring(struct seq_fi 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 );
Quoted 66 lines · On Sat 20 July 2013 14:14:25 Larry Finger wrote:
Quoted 65 lines · Thomas Fjellstrom
Hi,
Recently while trying to figure out a separate issue, I did a make allmodconfig and a make oldconfig with debian's default config on the 3.10.1 kernel, and debian's config with 3.10.0.
It failed in the wil6210 driver.
The system it failed on is running a fresh install of Debian Sid, with gcc 4.8.1.
This is the error I got:
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_tlen,^
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_tlen,^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
Quoted 8 lines
Quoted 3 lines
please excuse the mangled quotes, fresh install and I negelected to set up the locale properly. It's fixed now, but it seems I need to restart X for it to notice.
This error should be fixed by the attached patch. Please test.
Note that my system did not issue a warning for this "problem". It seems we have different warnings turned on in the compiler.
The warnings have gone away, and the first error, but the second one is still there.
Quoted 1 line
Larry
Signature · 2 lines
Thomas Fjellstrom [email protected]
Quoted 3 lines · Thomas Fjellstrom
The warnings have gone away, and the first error, but the second one is still there.
Sorry, I missed the second one in your original message. Does this one fix it?
Larry
drivers/net/wireless/ath/wil6210/debugfs.c +2 -2
@@ -145,7 +145,7 @@ static void wil_print_ring(struct seq_fi 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(strucseq_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;
Quoted 6 lines · On Sat 20 July 2013 16:12:10 Larry Finger wrote:
Quoted 2 lines · Thomas Fjellstrom
The warnings have gone away, and the first error, but the second one is still there.
Sorry, I missed the second one in your original message. Does this one fix it?
That seems to have done the trick.
Quoted 1 line
Larry
Signature · 2 lines
Thomas Fjellstrom [email protected]