2014-03-05 23:26:12

by Larry Finger

[permalink] [raw]
Subject: [PATCH 0/3] rtlwifi: Miscellaneous fixups

This set of patches fixes a logged warning of a switch case that is not
handled, and some Sparse/Smatch warnings for rtl8723be.

Signed-off-by: Larry Finger <[email protected]>

Larry Finger (3):
rtlwifi: rtl8192ce: Handle unused switch case
rtlwifi: rtl8723be: Fix sparse errors
rtlwifi: rtl8723be: Fix smatch warnings

drivers/net/wireless/rtlwifi/rtl8192ce/hw.c | 4 +++-
drivers/net/wireless/rtlwifi/rtl8723be/fw.c | 8 --------
drivers/net/wireless/rtlwifi/rtl8723be/hw.c | 3 +--
drivers/net/wireless/rtlwifi/rtl8723be/sw.c | 2 +-
drivers/net/wireless/rtlwifi/wifi.h | 2 +-
5 files changed, 6 insertions(+), 13 deletions(-)

--
1.8.4.5



2014-03-05 23:26:19

by Larry Finger

[permalink] [raw]
Subject: [PATCH 2/3] rtlwifi: rtl8723be: Fix sparse errors

Sparse reports the following:

drivers/net/wireless/rtlwifi/rtl8723be/sw.c:374:14: sparse: duplicate const

drivers/net/wireless/rtlwifi/rtl8723be/hw.c:2214:30: sparse: cast to restricted __le32

Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Larry Finger <[email protected]>
---
drivers/net/wireless/rtlwifi/rtl8723be/hw.c | 3 +--
drivers/net/wireless/rtlwifi/rtl8723be/sw.c | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/rtlwifi/rtl8723be/hw.c
index fc2af71..7e70c71 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723be/hw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723be/hw.c
@@ -2210,8 +2210,7 @@ static void rtl8723be_update_hal_rate_mask(struct ieee80211_hw *hw,

RT_TRACE(rtlpriv, COMP_RATR, DBG_DMESG,
"ratr_bitmap :%x\n", ratr_bitmap);
- *(u32 *)&rate_mask = EF4BYTE((ratr_bitmap & 0x0fffffff) |
- (ratr_index << 28));
+ *(u32 *)&rate_mask = (ratr_bitmap & 0x0fffffff) | (ratr_index << 28);
rate_mask[0] = macid;
rate_mask[1] = _rtl8723be_mrate_idx_to_arfr_id(hw, ratr_index) |
(shortgi ? 0x80 : 0x00);
diff --git a/drivers/net/wireless/rtlwifi/rtl8723be/sw.c b/drivers/net/wireless/rtlwifi/rtl8723be/sw.c
index cc4ab3f..b4577eb 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723be/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723be/sw.c
@@ -370,7 +370,7 @@ MODULE_PARM_DESC(ips, "using no link power save (default 1 is open)\n");
MODULE_PARM_DESC(fwlps, "using linked fw control power save (default 1 is open)\n");
MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)");

-static const SIMPLE_DEV_PM_OPS(rtlwifi_pm_ops, rtl_pci_suspend, rtl_pci_resume);
+static SIMPLE_DEV_PM_OPS(rtlwifi_pm_ops, rtl_pci_suspend, rtl_pci_resume);

static struct pci_driver rtl8723be_driver = {
.name = KBUILD_MODNAME,
--
1.8.4.5


2014-03-05 23:26:23

by Larry Finger

[permalink] [raw]
Subject: [PATCH 3/3] rtlwifi: rtl8723be: Fix smatch warnings

Smatch reports the following:

drivers/net/wireless/rtlwifi/rtl8723be/fw.c:208 _rtl8723be_fill_h2c_command() warn: variable dereferenced before check 'rtlhal' (see line 69)
drivers/net/wireless/rtlwifi/rtl8723be/hw.c:1732 _rtl8723be_read_adapter_info() error: __builtin_memcpy() '&rtlefuse->efuse_map[0][0]' too small (256 vs 512)

The first one is fixed by removing two pointless tests for NULL pointers.

Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Larry Finger <[email protected]>
---
drivers/net/wireless/rtlwifi/rtl8723be/fw.c | 8 --------
drivers/net/wireless/rtlwifi/wifi.h | 2 +-
2 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/net/wireless/rtlwifi/rtl8723be/fw.c b/drivers/net/wireless/rtlwifi/rtl8723be/fw.c
index 0f3522d..f856be6 100644
--- a/drivers/net/wireless/rtlwifi/rtl8723be/fw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8723be/fw.c
@@ -201,14 +201,6 @@ static void _rtl8723be_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
"pHalData->last_hmeboxnum = %d\n",
rtlhal->last_hmeboxnum);
}
- if (!rtlpriv) {
- pr_err("rtlpriv bad\n");
- return;
- }
- if (!rtlhal) {
- pr_err("rtlhal bad\n");
- return;
- }
spin_lock_irqsave(&rtlpriv->locks.h2c_lock, flag);
rtlhal->h2c_setinprogress = false;
spin_unlock_irqrestore(&rtlpriv->locks.h2c_lock, flag);
diff --git a/drivers/net/wireless/rtlwifi/wifi.h b/drivers/net/wireless/rtlwifi/wifi.h
index 0b4d641..6965afd 100644
--- a/drivers/net/wireless/rtlwifi/wifi.h
+++ b/drivers/net/wireless/rtlwifi/wifi.h
@@ -1587,7 +1587,7 @@ struct rtl_dm {
u64 last_rx_ok_cnt;
};

-#define EFUSE_MAX_LOGICAL_SIZE 256
+#define EFUSE_MAX_LOGICAL_SIZE 512

struct rtl_efuse {
bool autoLoad_ok;
--
1.8.4.5


2014-03-05 23:26:16

by Larry Finger

[permalink] [raw]
Subject: [PATCH 1/3] rtlwifi: rtl8192ce: Handle unused switch case

This patch prevents log spamming by adding a case for a previously
unhandled case.

Signed-off-by: Larry Finger <[email protected]>
---
drivers/net/wireless/rtlwifi/rtl8192ce/hw.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c b/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c
index c6a3820..4ae51d5 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/hw.c
@@ -542,9 +542,11 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
(u8 *)(&fw_current_inps));
}
break; }
+ case HW_VAR_KEEP_ALIVE:
+ break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %d not processed\n", variable);
break;
}
}
--
1.8.4.5