2008-10-28 18:36:31

by Johannes Berg

[permalink] [raw]
Subject: sparse warnings

These look like bugs:

drivers/net/wireless/iwlwifi/iwl3945-base.c:4848:18: warning: invalid assignment: |=
drivers/net/wireless/iwlwifi/iwl3945-base.c:4848:18: left side has type unsigned char
drivers/net/wireless/iwlwifi/iwl3945-base.c:4848:18: right side has type restricted __le32

drivers/net/wireless/libertas/cmd.c:609:16: warning: cast to restricted __le16
drivers/net/wireless/libertas/cmd.c:611:16: warning: cast to restricted __le16


These seem harmless:

drivers/net/wireless/zd1211rw/zd_usb.c:359:17: warning: implicit cast from nocast type

drivers/net/wireless/ath9k/main.c:1836:28: warning: incorrect type in argument 2 (different base types)
drivers/net/wireless/ath9k/main.c:1836:28: expected restricted pci_power_t [usertype] state
drivers/net/wireless/ath9k/main.c:1836:28: got int
drivers/net/wireless/ath9k/hw.c: In function ‘ath9k_hw_eeprom_set_board_values’:
drivers/net/wireless/ath9k/hw.c:544: warning: ‘ant_config’ may be used uninitialized in this function
drivers/net/wireless/ath9k/hw.c:4818:17: warning: symbol 'tmp' shadows an earlier one
drivers/net/wireless/ath9k/hw.c:4681:6: originally declared here
drivers/net/wireless/ath9k/hw.c:5020:17: warning: symbol 'tmp' shadows an earlier one
drivers/net/wireless/ath9k/hw.c:4930:6: originally declared here

[and a whole bunch in b43]

johannes


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2008-10-29 08:06:15

by Holger Schurig

[permalink] [raw]
Subject: Re: sparse warnings

> drivers/net/wireless/libertas/cmd.c:609:16: warning: cast to
> restricted __le16
> drivers/net/wireless/libertas/cmd.c:611:16:
> warning: cast to restricted __le16

Yeah, this seems like a bug. In the cmd struct, it's defined as
s8, so there is no need to use leXX_to_cpu() on it:

struct cmd_ds_802_11_rf_tx_power {
struct cmd_header hdr;

__le16 action;
__le16 curlevel;
s8 maxlevel;
s8 minlevel;
};