wifi: ath9k: fix remaining sparse warnings
cover wifi: ath9k: fix remaining sparse warnings
From: Kalle Valo <[email protected]>
There were few sparse warnings in ath9k. After this patchset ath9k is sparse warning free.
Please review.
Kalle Valo (3):
wifi: ath9k: ath9k_set_moredata(): fix sparse warnings
wifi: ath9k: fix ath9k_use_msi declaration
wifi: ath9k: eeprom: fix sparse endian warnings
drivers/net/wireless/ath/ath9k/ath9k.h | 1 + drivers/net/wireless/ath/ath9k/eeprom_4k.c | 2 +- drivers/net/wireless/ath/ath9k/eeprom_9287.c | 4 ++-- drivers/net/wireless/ath/ath9k/eeprom_def.c | 6 +++--- drivers/net/wireless/ath/ath9k/pci.c | 2 -- drivers/net/wireless/ath/ath9k/xmit.c | 10 ++++++++-- 6 files changed, 15 insertions(+), 10 deletions(-)
base-commit: 4b2f0ce6f2fe0fd906d408a01e494b85c272c7d7
Signature · 1 line
2.39.2
PATCH 1/3 wifi: ath9k: ath9k_set_moredata(): fix sparse warnings
From: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/xmit.c:1677:20: warning: incorrect type in initializer (different base types)drivers/net/wireless/ath/ath9k/xmit.c:1677:20: expected unsigned short [usertype] maskdrivers/net/wireless/ath/ath9k/xmit.c:1677:20: got restricted __le16 [usertype]drivers/net/wireless/ath/ath9k/xmit.c:1681:17: warning: restricted __le16 degrades to integer drivers/net/wireless/ath/ath9k/xmit.c:1682:42: warning: restricted __le16 degrades to integer drivers/net/wireless/ath/ath9k/xmit.c:1682:36: warning: incorrect type in assignment (different base types)drivers/net/wireless/ath/ath9k/xmit.c:1682:36: expected restricted __le16 [usertype] frame_controldrivers/net/wireless/ath/ath9k/xmit.c:1682:36: got int
Fix ath9k_set_moredata() to use __le16 with masks and use if statement instead of multiply operator.
Compile tested only.
--- drivers/net/wireless/ath/ath9k/xmit.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
drivers/net/wireless/ath/ath9k/xmit.c +8 -2
@@ -1674,8 +1674,14 @@ static void ath9k_set_moredata(struct ath_softc *sc, struct ath_buf *bf, bool val) { struct ieee80211_hdr *hdr; -u16 mask =cpu_to_le16 (IEEE80211_FCTL_MOREDATA ); -u16 mask_val = mask * val; +__le16 mask, mask_val; + + mask =cpu_to_le16 (IEEE80211_FCTL_MOREDATA ); + +if (val) + mask_val = mask; +else + mask_val =0 ; hdr = (struct ieee80211_hdr *) bf->bf_mpdu->data;if ((hdr->frame_control & mask) != mask_val) {
Signature · 1 line
2.39.2
Re: [PATCH 1/3] wifi: ath9k: ath9k_set_moredata(): fix sparse warnings
Quoted 13 lines · Kalle Valo
From: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/xmit.c:1677:20: warning: incorrect type in initializer (different base types)drivers/net/wireless/ath/ath9k/xmit.c:1677:20: expected unsigned short [usertype] maskdrivers/net/wireless/ath/ath9k/xmit.c:1677:20: got restricted__le16[usertype]drivers/net/wireless/ath/ath9k/xmit.c:1681:17: warning: restricted__le16degrades to integerdrivers/net/wireless/ath/ath9k/xmit.c:1682:42: warning: restricted__le16degrades to integerdrivers/net/wireless/ath/ath9k/xmit.c:1682:36: warning: incorrect type in assignment (different base types)drivers/net/wireless/ath/ath9k/xmit.c:1682:36: expected restricted__le16[usertype]frame_controldrivers/net/wireless/ath/ath9k/xmit.c:1682:36: got int
Quoted 6 lines
Fix
ath9k_set_moredata()to use__le16with masks and use if statement instead of multiply operator.Compile tested only.
Signed-off-by Kalle Valo <[email protected]>
Re: [PATCH 1/3] wifi: ath9k: ath9k_set_moredata(): fix sparse warnings
In reply to Kalle ValoQuoted 13 lines · Kalle Valo
From: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/xmit.c:1677:20: warning: incorrect type in initializer (different base types)drivers/net/wireless/ath/ath9k/xmit.c:1677:20: expected unsigned short [usertype] maskdrivers/net/wireless/ath/ath9k/xmit.c:1677:20: got restricted__le16[usertype]drivers/net/wireless/ath/ath9k/xmit.c:1681:17: warning: restricted__le16degrades to integerdrivers/net/wireless/ath/ath9k/xmit.c:1682:42: warning: restricted__le16degrades to integerdrivers/net/wireless/ath/ath9k/xmit.c:1682:36: warning: incorrect type in assignment (different base types)drivers/net/wireless/ath/ath9k/xmit.c:1682:36: expected restricted__le16[usertype]frame_controldrivers/net/wireless/ath/ath9k/xmit.c:1682:36: got int
Quoted 6 lines
Fix
ath9k_set_moredata()to use__le16with masks and use if statement instead of multiply operator.Compile tested only.
Signed-off-by Kalle Valo <[email protected]>
Re: [PATCH 1/3] wifi: ath9k: ath9k_set_moredata(): fix sparse warnings
In reply to Kalle ValoQuoted 11 lines · Kalle Valo
Sparse warns:
drivers/net/wireless/ath/ath9k/xmit.c:1677:20: warning: incorrect type in initializer (different base types)drivers/net/wireless/ath/ath9k/xmit.c:1677:20: expected unsigned short [usertype] maskdrivers/net/wireless/ath/ath9k/xmit.c:1677:20: got restricted__le16[usertype]drivers/net/wireless/ath/ath9k/xmit.c:1681:17: warning: restricted__le16degrades to integerdrivers/net/wireless/ath/ath9k/xmit.c:1682:42: warning: restricted__le16degrades to integerdrivers/net/wireless/ath/ath9k/xmit.c:1682:36: warning: incorrect type in assignment (different base types)drivers/net/wireless/ath/ath9k/xmit.c:1682:36: expected restricted__le16[usertype]frame_controldrivers/net/wireless/ath/ath9k/xmit.c:1682:36: got int
Quoted 8 lines
Fix
ath9k_set_moredata()to use__le16with masks and use if statement instead of multiply operator.Compile tested only.
Signed-off-by Kalle Valo <[email protected]>Acked-by Jeff Johnson <[email protected]>
3 patches applied to ath-next branch of ath.git, thanks.
e5f6c85ac16f wifi: ath9k: ath9k_set_moredata(): fix sparse warnings a854028e7bd8 wifi: ath9k: fix ath9k_use_msi declaration f09e3b774fe8 wifi: ath9k: eeprom: fix sparse endian warnings
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
PATCH 2/3 wifi: ath9k: fix ath9k_use_msi declaration
In reply to Kalle ValoFrom: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/init.c:79:5: warning: symbol 'ath9k_use_msi' was not declared. Should it be static?
Move the extern to ath9k.h so that it's visible in init.c.
Compile tested only.
--- drivers/net/wireless/ath/ath9k/ath9k.h | 1 + drivers/net/wireless/ath/ath9k/pci.c | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-)
drivers/net/wireless/ath/ath9k/ath9k.h +1 -0
@@ -39,6 +39,7 @@ extern int ath9k_modparam_nohwcrypt;extern int ath9k_led_blink;extern bool is_ath9k_unloaded;extern int ath9k_use_chanctx; +extern int ath9k_use_msi;/*************************/ /* Descriptor Management */
drivers/net/wireless/ath/ath9k/pci.c +0 -2
@@ -21,8 +21,6 @@#include <linux/module.h> #include "ath9k.h" -extern int ath9k_use_msi; -static const struct pci_device_id ath_pci_id_table[] = { {PCI_VDEVICE (ATHEROS ,0x0023 ) },/* PCI */ {PCI_VDEVICE (ATHEROS ,0x0024 ) },/* PCI-E */
Signature · 1 line
2.39.2
Re: [PATCH 2/3] wifi: ath9k: fix ath9k_use_msi declaration
Quoted 11 lines · Kalle Valo
From: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/init.c:79:5: warning: symbol 'ath9k_use_msi' was not declared. Should it be static?Move the extern to
ath9k.hso that it's visible ininit.c.Compile tested only.
Signed-off-by Kalle Valo <[email protected]>
Re: [PATCH 2/3] wifi: ath9k: fix ath9k_use_msi declaration
In reply to Kalle ValoQuoted 11 lines · Kalle Valo
From: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/init.c:79:5: warning: symbol 'ath9k_use_msi' was not declared. Should it be static?Move the extern to
ath9k.hso that it's visible ininit.c.Compile tested only.
Signed-off-by Kalle Valo <[email protected]>
PATCH 3/3 wifi: ath9k: eeprom: fix sparse endian warnings
In reply to Kalle ValoFrom: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/eeprom_9287.c:82:9: warning: cast to restricted __le16 drivers/net/wireless/ath/ath9k/eeprom_9287.c:82:9: warning: cast from restricted __le32 drivers/net/wireless/ath/ath9k/eeprom_9287.c:83:9: warning: cast to restricted __le16 drivers/net/wireless/ath/ath9k/eeprom_9287.c:83:9: warning: cast from restricted __le32 drivers/net/wireless/ath/ath9k/eeprom_def.c:138:9: warning: cast to restricted __le16 drivers/net/wireless/ath/ath9k/eeprom_def.c:138:9: warning: cast from restricted __le32 drivers/net/wireless/ath/ath9k/eeprom_def.c:139:9: warning: cast to restricted __le16 drivers/net/wireless/ath/ath9k/eeprom_def.c:139:9: warning: cast from restricted __le32 drivers/net/wireless/ath/ath9k/eeprom_def.c:140:9: warning: cast to restricted __le16 drivers/net/wireless/ath/ath9k/eeprom_def.c:140:9: warning: cast from restricted __le32 drivers/net/wireless/ath/ath9k/eeprom_4k.c:79:9: warning: cast to restricted __le16 drivers/net/wireless/ath/ath9k/eeprom_4k.c:79:9: warning: cast from restricted __le32
antCtrlChain is an array of __le32 so le32_to_cpu() needs to be used.
Compile tested only.
--- drivers/net/wireless/ath/ath9k/eeprom_4k.c | 2 +- drivers/net/wireless/ath/ath9k/eeprom_9287.c | 4 ++-- drivers/net/wireless/ath/ath9k/eeprom_def.c | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-)
drivers/net/wireless/ath/ath9k/eeprom_4k.c +1 -1
@@ -76,7 +76,7 @@ static bool ath9k_hw_4k_fill_eeprom(struct ath_hw *ah)static u32 ath9k_dump_4k_modal_eeprom (char *buf,u32 len,u32 size,struct modal_eep_4k_header *modal_hdr) { -PR_EEP ("Chain0 Ant. Control" ,le16_to_cpu (modal_hdr->antCtrlChain[0 ])); +PR_EEP ("Chain0 Ant. Control" ,le32_to_cpu (modal_hdr->antCtrlChain[0 ]));PR_EEP ("Ant. Common Control" ,le32_to_cpu (modal_hdr->antCtrlCommon));PR_EEP ("Chain0 Ant. Gain" , modal_hdr->antennaGainCh[0 ]);PR_EEP ("Switch Settle" , modal_hdr->switchSettling);
drivers/net/wireless/ath/ath9k/eeprom_9287.c +2 -2
@@ -79,8 +79,8 @@ static bool ath9k_hw_ar9287_fill_eeprom(struct ath_hw *ah)static u32 ar9287_dump_modal_eeprom (char *buf,u32 len,u32 size,struct modal_eep_ar9287_header *modal_hdr) { -PR_EEP ("Chain0 Ant. Control" ,le16_to_cpu (modal_hdr->antCtrlChain[0 ])); -PR_EEP ("Chain1 Ant. Control" ,le16_to_cpu (modal_hdr->antCtrlChain[1 ])); +PR_EEP ("Chain0 Ant. Control" ,le32_to_cpu (modal_hdr->antCtrlChain[0 ])); +PR_EEP ("Chain1 Ant. Control" ,le32_to_cpu (modal_hdr->antCtrlChain[1 ]));PR_EEP ("Ant. Common Control" ,le32_to_cpu (modal_hdr->antCtrlCommon));PR_EEP ("Chain0 Ant. Gain" , modal_hdr->antennaGainCh[0 ]);PR_EEP ("Chain1 Ant. Gain" , modal_hdr->antennaGainCh[1 ]);
drivers/net/wireless/ath/ath9k/eeprom_def.c +3 -3
@@ -135,9 +135,9 @@ static bool ath9k_hw_def_fill_eeprom(struct ath_hw *ah)static u32 ath9k_def_dump_modal_eeprom (char *buf,u32 len,u32 size,struct modal_eep_header *modal_hdr) { -PR_EEP ("Chain0 Ant. Control" ,le16_to_cpu (modal_hdr->antCtrlChain[0 ])); -PR_EEP ("Chain1 Ant. Control" ,le16_to_cpu (modal_hdr->antCtrlChain[1 ])); -PR_EEP ("Chain2 Ant. Control" ,le16_to_cpu (modal_hdr->antCtrlChain[2 ])); +PR_EEP ("Chain0 Ant. Control" ,le32_to_cpu (modal_hdr->antCtrlChain[0 ])); +PR_EEP ("Chain1 Ant. Control" ,le32_to_cpu (modal_hdr->antCtrlChain[1 ])); +PR_EEP ("Chain2 Ant. Control" ,le32_to_cpu (modal_hdr->antCtrlChain[2 ]));PR_EEP ("Ant. Common Control" ,le32_to_cpu (modal_hdr->antCtrlCommon));PR_EEP ("Chain0 Ant. Gain" , modal_hdr->antennaGainCh[0 ]);PR_EEP ("Chain1 Ant. Gain" , modal_hdr->antennaGainCh[1 ]);
Signature · 1 line
2.39.2
Re: [PATCH 3/3] wifi: ath9k: eeprom: fix sparse endian warnings
Quoted 17 lines · Kalle Valo
From: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/eeprom_9287.c:82:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_9287.c:82:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_9287.c:83:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_9287.c:83:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_def.c:138:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_def.c:138:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_def.c:139:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_def.c:139:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_def.c:140:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_def.c:140:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_4k.c:79:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_4k.c:79:9: warning: cast from restricted__le32
Quoted 5 lines
antCtrlChain is an array of
__le32sole32_to_cpu()needs to be used.Compile tested only.
Signed-off-by Kalle Valo <[email protected]>
Re: [PATCH 3/3] wifi: ath9k: eeprom: fix sparse endian warnings
In reply to Kalle ValoQuoted 17 lines · Kalle Valo
From: Kalle Valo <[email protected]>
Sparse warns:
drivers/net/wireless/ath/ath9k/eeprom_9287.c:82:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_9287.c:82:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_9287.c:83:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_9287.c:83:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_def.c:138:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_def.c:138:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_def.c:139:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_def.c:139:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_def.c:140:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_def.c:140:9: warning: cast from restricted__le32drivers/net/wireless/ath/ath9k/eeprom_4k.c:79:9: warning: cast to restricted__le16drivers/net/wireless/ath/ath9k/eeprom_4k.c:79:9: warning: cast from restricted__le32
Quoted 5 lines
antCtrlChain is an array of
__le32sole32_to_cpu()needs to be used.Compile tested only.
Signed-off-by Kalle Valo <[email protected]>