2009-07-24 16:22:38

by Luis R. Rodriguez

[permalink] [raw]
Subject: wireless drivers sparse warnings 07-24

I don't usually have these enabled but today I did so I figured I'd
report these.

CHECK drivers/net/wireless/mwl8k.c
drivers/net/wireless/mwl8k.c:1595:16: warning: incorrect type in
assignment (different address spaces)
drivers/net/wireless/mwl8k.c:1595:16: expected unsigned short
[noderef] [usertype] <asn:2>*result
drivers/net/wireless/mwl8k.c:1595:16: got unsigned short *<noident>
drivers/net/wireless/mwl8k.c:1606:23: warning: dereference of noderef expression
drivers/net/wireless/mwl8k.c:1611:33: warning: dereference of noderef expression

CHECK drivers/net/wireless/rtl818x/rtl8180_rtl8225.c
drivers/net/wireless/rtl818x/rtl8180_rtl8225.c:53:33: warning: dubious: x | !y

CC [M] drivers/net/wireless/iwlwifi/iwl-core.o
drivers/net/wireless/iwlwifi/iwl-core.c:1341: warning:
‘iwl_dump_nic_error_log’ defined but not used

CHECK drivers/net/wireless/b43/phy_g.c
drivers/net/wireless/b43/phy_g.c:974:56: warning: cast truncates bits
from constant value (ffff7fff becomes 7fff)

CHECK drivers/net/wireless/b43/wa.c
drivers/net/wireless/b43/wa.c:385:60: warning: cast truncates bits
from constant value (ffff00ff becomes ff)
drivers/net/wireless/b43/wa.c:403:55: warning: cast truncates bits
from constant value (ffff00ff becomes ff)
drivers/net/wireless/b43/wa.c:405:55: warning: cast truncates bits
from constant value (ffff00ff becomes ff)
drivers/net/wireless/b43/wa.c:415:71: warning: cast truncates bits
from constant value (ffff0fff becomes fff)

CHECK drivers/net/wireless/zd1211rw/zd_usb.c
drivers/net/wireless/zd1211rw/zd_usb.c:367:24: warning: implicit cast
from nocast type

I last tried to address this last one with Dan but I forget where we ended up.

Luis


2009-07-26 10:10:38

by Daniel Drake

[permalink] [raw]
Subject: Re: wireless drivers sparse warnings 07-24

Luis R. Rodriguez wrote:
> CHECK drivers/net/wireless/zd1211rw/zd_usb.c
> drivers/net/wireless/zd1211rw/zd_usb.c:367:24: warning: implicit cast
> from nocast type
>
> I last tried to address this last one with Dan but I forget where we ended up.

I suggested that you avoid using a constant designed for register usage
here because you are not dealing with register addresses (it is just a
coincidence, perhaps intentional, that it is the same value as a related
register address). i.e. change CR_INTERRUPT to 0x9510 or a new constant.

Daniel