* Re: [PATCH 2/2] rtlwifi: Add explicit values to hw_variables enum
From: Larry Finger @ 2016-09-24 18:06 UTC (permalink / raw)
To: Joe Perches, kvalo; +Cc: devel, linux-wireless
In-Reply-To: <1474738987.23838.13.camel@perches.com>
On 09/24/2016 12:43 PM, Joe Perches wrote:
> On Sat, 2016-09-24 at 11:57 -0500, Larry Finger wrote:
>> The entries in this enum may be referenced in debug output. Adding explicit
>> values simplifies the lookup.
>
> A negative aspect to this style is forced renumbering
> if a HW_VAR entry is inserted.
>
> Is that possible?
Any new one would be added at the end.
Larry
^ permalink raw reply
* Re: [PATCH 1/2] rtlwifi: Add HAL_DEF_WOWLAN case to *_get_hw() routines
From: Joe Perches @ 2016-09-24 17:47 UTC (permalink / raw)
To: Larry Finger, kvalo; +Cc: devel, linux-wireless
In-Reply-To: <1474736239-9826-2-git-send-email-Larry.Finger@lwfinger.net>
On Sat, 2016-09-24 at 11:57 -0500, Larry Finger wrote:
> Only rtl8821ae implements WOWLAN; however, the other drivers may receive
> a call requesting information about this mode. The other drivers need to
> ignore the request rather than logging that the default branch of the
> switch statement has been reached.
How about later rationalizing the DBG_EMERG vs DBG_LOUD differences too?
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
[]
> @@ -355,6 +355,8 @@ void rtl88ee_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
[]
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> "switch case %#x not processed\n", variable);
[]
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
[]
> @@ -141,6 +141,8 @@ void rtl8723e_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
[]
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> "switch case %#x not processed\n", variable);
etc...
^ permalink raw reply
* Re: [PATCH 2/2] rtlwifi: Add explicit values to hw_variables enum
From: Joe Perches @ 2016-09-24 17:43 UTC (permalink / raw)
To: Larry Finger, kvalo; +Cc: devel, linux-wireless
In-Reply-To: <1474736239-9826-3-git-send-email-Larry.Finger@lwfinger.net>
On Sat, 2016-09-24 at 11:57 -0500, Larry Finger wrote:
> The entries in this enum may be referenced in debug output. Adding explicit
> values simplifies the lookup.
A negative aspect to this style is forced renumbering
if a HW_VAR entry is inserted.
Is that possible?
^ permalink raw reply
* Re: [PATCH] realtek: Add switch variable to 'switch case not processed' messages
From: Joe Perches @ 2016-09-24 17:32 UTC (permalink / raw)
To: Larry Finger, Jean Delvare, Jes Sorensen
Cc: Chaoming Li, Kalle Valo, linux-wireless, netdev, linux-kernel
In-Reply-To: <49094659-662d-a902-6740-ea3d1fea6660@lwfinger.net>
(adding Jes Sorensen to recipients)
On Sat, 2016-09-24 at 11:35 -0500, Larry Finger wrote:
> I have patches that makes HAL_DEF_WOWLAN be a no-op for the rest of the drivers,
> and one that sets the enum values for that particular statement to hex values. I
> also looked at the other large enums and decided that they never need the human
> lookup.
Hey Larry.
There are many somewhat common realtek wireless drivers.
Not to step on your toes, but what do you think of
rationalizing the switch/case statements of all the
realtek drivers in a few steps:
o Reindent all the switch/case blocks to a more normal
kernel style (git diff -w would show no changes here)
o cast, spacing and parenthesis reductions
Lots of odd and somewhat unique styles in various
drivers, looks like too many individual authors without
a style guide / code enforcer using slightly different
personalized code. Glancing at the code, it looks to be
similar logic, just written in different styles.
o Logic changes like
from:
if (foo) func(..., bar, ...); else func(..., baz, ...);
to:
func(..., foo ? bar : baz, ...);
to make the case statement code blocks more consistent
and emit somewhat smaller object code.
o Consolidation of equivalent function spanning drivers
With the style only changes minimized, where possible
make the drivers use common ops/callback functions.
Is there any value in that or is Jes' work going to make
doing any or all of this unnecessary and futile?
^ permalink raw reply
* [PATCH 2/2] rtlwifi: Add explicit values to hw_variables enum
From: Larry Finger @ 2016-09-24 16:57 UTC (permalink / raw)
To: kvalo; +Cc: devel, linux-wireless, Larry Finger
In-Reply-To: <1474736239-9826-1-git-send-email-Larry.Finger@lwfinger.net>
The entries in this enum may be referenced in debug output. Adding explicit
values simplifies the lookup.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
drivers/net/wireless/realtek/rtlwifi/wifi.h | 208 ++++++++++++++--------------
1 file changed, 104 insertions(+), 104 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h b/drivers/net/wireless/realtek/rtlwifi/wifi.h
index c5086c2..595f7d5 100644
--- a/drivers/net/wireless/realtek/rtlwifi/wifi.h
+++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h
@@ -394,110 +394,110 @@ enum io_type {
};
enum hw_variables {
- HW_VAR_ETHER_ADDR,
- HW_VAR_MULTICAST_REG,
- HW_VAR_BASIC_RATE,
- HW_VAR_BSSID,
- HW_VAR_MEDIA_STATUS,
- HW_VAR_SECURITY_CONF,
- HW_VAR_BEACON_INTERVAL,
- HW_VAR_ATIM_WINDOW,
- HW_VAR_LISTEN_INTERVAL,
- HW_VAR_CS_COUNTER,
- HW_VAR_DEFAULTKEY0,
- HW_VAR_DEFAULTKEY1,
- HW_VAR_DEFAULTKEY2,
- HW_VAR_DEFAULTKEY3,
- HW_VAR_SIFS,
- HW_VAR_R2T_SIFS,
- HW_VAR_DIFS,
- HW_VAR_EIFS,
- HW_VAR_SLOT_TIME,
- HW_VAR_ACK_PREAMBLE,
- HW_VAR_CW_CONFIG,
- HW_VAR_CW_VALUES,
- HW_VAR_RATE_FALLBACK_CONTROL,
- HW_VAR_CONTENTION_WINDOW,
- HW_VAR_RETRY_COUNT,
- HW_VAR_TR_SWITCH,
- HW_VAR_COMMAND,
- HW_VAR_WPA_CONFIG,
- HW_VAR_AMPDU_MIN_SPACE,
- HW_VAR_SHORTGI_DENSITY,
- HW_VAR_AMPDU_FACTOR,
- HW_VAR_MCS_RATE_AVAILABLE,
- HW_VAR_AC_PARAM,
- HW_VAR_ACM_CTRL,
- HW_VAR_DIS_Req_Qsize,
- HW_VAR_CCX_CHNL_LOAD,
- HW_VAR_CCX_NOISE_HISTOGRAM,
- HW_VAR_CCX_CLM_NHM,
- HW_VAR_TxOPLimit,
- HW_VAR_TURBO_MODE,
- HW_VAR_RF_STATE,
- HW_VAR_RF_OFF_BY_HW,
- HW_VAR_BUS_SPEED,
- HW_VAR_SET_DEV_POWER,
-
- HW_VAR_RCR,
- HW_VAR_RATR_0,
- HW_VAR_RRSR,
- HW_VAR_CPU_RST,
- HW_VAR_CHECK_BSSID,
- HW_VAR_LBK_MODE,
- HW_VAR_AES_11N_FIX,
- HW_VAR_USB_RX_AGGR,
- HW_VAR_USER_CONTROL_TURBO_MODE,
- HW_VAR_RETRY_LIMIT,
- HW_VAR_INIT_TX_RATE,
- HW_VAR_TX_RATE_REG,
- HW_VAR_EFUSE_USAGE,
- HW_VAR_EFUSE_BYTES,
- HW_VAR_AUTOLOAD_STATUS,
- HW_VAR_RF_2R_DISABLE,
- HW_VAR_SET_RPWM,
- HW_VAR_H2C_FW_PWRMODE,
- HW_VAR_H2C_FW_JOINBSSRPT,
- HW_VAR_H2C_FW_MEDIASTATUSRPT,
- HW_VAR_H2C_FW_P2P_PS_OFFLOAD,
- HW_VAR_FW_PSMODE_STATUS,
- HW_VAR_INIT_RTS_RATE,
- HW_VAR_RESUME_CLK_ON,
- HW_VAR_FW_LPS_ACTION,
- HW_VAR_1X1_RECV_COMBINE,
- HW_VAR_STOP_SEND_BEACON,
- HW_VAR_TSF_TIMER,
- HW_VAR_IO_CMD,
-
- HW_VAR_RF_RECOVERY,
- HW_VAR_H2C_FW_UPDATE_GTK,
- HW_VAR_WF_MASK,
- HW_VAR_WF_CRC,
- HW_VAR_WF_IS_MAC_ADDR,
- HW_VAR_H2C_FW_OFFLOAD,
- HW_VAR_RESET_WFCRC,
-
- HW_VAR_HANDLE_FW_C2H,
- HW_VAR_DL_FW_RSVD_PAGE,
- HW_VAR_AID,
- HW_VAR_HW_SEQ_ENABLE,
- HW_VAR_CORRECT_TSF,
- HW_VAR_BCN_VALID,
- HW_VAR_FWLPS_RF_ON,
- HW_VAR_DUAL_TSF_RST,
- HW_VAR_SWITCH_EPHY_WoWLAN,
- HW_VAR_INT_MIGRATION,
- HW_VAR_INT_AC,
- HW_VAR_RF_TIMING,
-
- HAL_DEF_WOWLAN,
- HW_VAR_MRC,
- HW_VAR_KEEP_ALIVE,
- HW_VAR_NAV_UPPER,
-
- HW_VAR_MGT_FILTER,
- HW_VAR_CTRL_FILTER,
- HW_VAR_DATA_FILTER,
+ HW_VAR_ETHER_ADDR = 0x0,
+ HW_VAR_MULTICAST_REG = 0x1,
+ HW_VAR_BASIC_RATE = 0x2,
+ HW_VAR_BSSID = 0x3,
+ HW_VAR_MEDIA_STATUS= 0x4,
+ HW_VAR_SECURITY_CONF= 0x5,
+ HW_VAR_BEACON_INTERVAL = 0x6,
+ HW_VAR_ATIM_WINDOW = 0x7,
+ HW_VAR_LISTEN_INTERVAL = 0x8,
+ HW_VAR_CS_COUNTER = 0x9,
+ HW_VAR_DEFAULTKEY0 = 0xa,
+ HW_VAR_DEFAULTKEY1 = 0xb,
+ HW_VAR_DEFAULTKEY2 = 0xc,
+ HW_VAR_DEFAULTKEY3 = 0xd,
+ HW_VAR_SIFS = 0xe,
+ HW_VAR_R2T_SIFS = 0xf,
+ HW_VAR_DIFS = 0x10,
+ HW_VAR_EIFS = 0x11,
+ HW_VAR_SLOT_TIME = 0x12,
+ HW_VAR_ACK_PREAMBLE = 0x13,
+ HW_VAR_CW_CONFIG = 0x14,
+ HW_VAR_CW_VALUES = 0x15,
+ HW_VAR_RATE_FALLBACK_CONTROL= 0x16,
+ HW_VAR_CONTENTION_WINDOW = 0x17,
+ HW_VAR_RETRY_COUNT = 0x18,
+ HW_VAR_TR_SWITCH = 0x19,
+ HW_VAR_COMMAND = 0x1a,
+ HW_VAR_WPA_CONFIG = 0x1b,
+ HW_VAR_AMPDU_MIN_SPACE = 0x1c,
+ HW_VAR_SHORTGI_DENSITY = 0x1d,
+ HW_VAR_AMPDU_FACTOR = 0x1e,
+ HW_VAR_MCS_RATE_AVAILABLE = 0x1f,
+ HW_VAR_AC_PARAM = 0x20,
+ HW_VAR_ACM_CTRL = 0x21,
+ HW_VAR_DIS_Req_Qsize = 0x22,
+ HW_VAR_CCX_CHNL_LOAD = 0x23,
+ HW_VAR_CCX_NOISE_HISTOGRAM = 0x24,
+ HW_VAR_CCX_CLM_NHM = 0x25,
+ HW_VAR_TxOPLimit = 0x26,
+ HW_VAR_TURBO_MODE = 0x27,
+ HW_VAR_RF_STATE = 0x28,
+ HW_VAR_RF_OFF_BY_HW = 0x29,
+ HW_VAR_BUS_SPEED = 0x2a,
+ HW_VAR_SET_DEV_POWER = 0x2b,
+
+ HW_VAR_RCR = 0x2c,
+ HW_VAR_RATR_0 = 0x2d,
+ HW_VAR_RRSR = 0x2e,
+ HW_VAR_CPU_RST = 0x2f,
+ HW_VAR_CHECK_BSSID = 0x30,
+ HW_VAR_LBK_MODE = 0x31,
+ HW_VAR_AES_11N_FIX = 0x32,
+ HW_VAR_USB_RX_AGGR = 0x33,
+ HW_VAR_USER_CONTROL_TURBO_MODE = 0x34,
+ HW_VAR_RETRY_LIMIT = 0x35,
+ HW_VAR_INIT_TX_RATE = 0x36,
+ HW_VAR_TX_RATE_REG = 0x37,
+ HW_VAR_EFUSE_USAGE = 0x38,
+ HW_VAR_EFUSE_BYTES = 0x39,
+ HW_VAR_AUTOLOAD_STATUS = 0x3a,
+ HW_VAR_RF_2R_DISABLE = 0x3b,
+ HW_VAR_SET_RPWM = 0x3c,
+ HW_VAR_H2C_FW_PWRMODE = 0x3d,
+ HW_VAR_H2C_FW_JOINBSSRPT = 0x3e,
+ HW_VAR_H2C_FW_MEDIASTATUSRPT = 0x3f,
+ HW_VAR_H2C_FW_P2P_PS_OFFLOAD = 0x40,
+ HW_VAR_FW_PSMODE_STATUS = 0x41,
+ HW_VAR_INIT_RTS_RATE = 0x42,
+ HW_VAR_RESUME_CLK_ON = 0x43,
+ HW_VAR_FW_LPS_ACTION = 0x44,
+ HW_VAR_1X1_RECV_COMBINE = 0x45,
+ HW_VAR_STOP_SEND_BEACON = 0x46,
+ HW_VAR_TSF_TIMER = 0x47,
+ HW_VAR_IO_CMD = 0x48,
+
+ HW_VAR_RF_RECOVERY = 0x49,
+ HW_VAR_H2C_FW_UPDATE_GTK = 0x4a,
+ HW_VAR_WF_MASK = 0x4b,
+ HW_VAR_WF_CRC = 0x4c,
+ HW_VAR_WF_IS_MAC_ADDR = 0x4d,
+ HW_VAR_H2C_FW_OFFLOAD = 0x4e,
+ HW_VAR_RESET_WFCRC = 0x4f,
+
+ HW_VAR_HANDLE_FW_C2H = 0x50,
+ HW_VAR_DL_FW_RSVD_PAGE = 0x51,
+ HW_VAR_AID = 0x52,
+ HW_VAR_HW_SEQ_ENABLE = 0x53,
+ HW_VAR_CORRECT_TSF = 0x54,
+ HW_VAR_BCN_VALID = 0x55,
+ HW_VAR_FWLPS_RF_ON = 0x56,
+ HW_VAR_DUAL_TSF_RST = 0x57,
+ HW_VAR_SWITCH_EPHY_WoWLAN = 0x58,
+ HW_VAR_INT_MIGRATION = 0x59,
+ HW_VAR_INT_AC = 0x5a,
+ HW_VAR_RF_TIMING = 0x5b,
+
+ HAL_DEF_WOWLAN = 0x5c,
+ HW_VAR_MRC = 0x5d,
+ HW_VAR_KEEP_ALIVE = 0x5e,
+ HW_VAR_NAV_UPPER = 0x5f,
+
+ HW_VAR_MGT_FILTER = 0x60,
+ HW_VAR_CTRL_FILTER = 0x61,
+ HW_VAR_DATA_FILTER = 0x62,
};
enum rt_media_status {
--
2.6.6
^ permalink raw reply related
* [PATCH 1/2] rtlwifi: Add HAL_DEF_WOWLAN case to *_get_hw() routines
From: Larry Finger @ 2016-09-24 16:57 UTC (permalink / raw)
To: kvalo; +Cc: devel, linux-wireless, Larry Finger
In-Reply-To: <1474736239-9826-1-git-send-email-Larry.Finger@lwfinger.net>
Only rtl8821ae implements WOWLAN; however, the other drivers may receive
a call requesting information about this mode. The other drivers need to
ignore the request rather than logging that the default branch of the
switch statement has been reached.
Reported by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
This patch depends on "realtek: Add switch variable to 'switch case not
processed' messages" submitted by Joe Perches.
Larry
---
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c | 2 ++
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c | 2 ++
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c | 2 ++
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c | 2 ++
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c | 2 ++
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c | 2 ++
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 2 ++
7 files changed, 14 insertions(+)
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
index 3285117..37d6efc 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
@@ -355,6 +355,8 @@ void rtl88ee_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
*((u64 *)(val)) = tsf;
break; }
+ case HAL_DEF_WOWLAN:
+ break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
"switch case %#x not processed\n", variable);
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
index 6d308f9..a47be73 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
@@ -141,6 +141,8 @@ void rtl92ce_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
}
+ case HAL_DEF_WOWLAN:
+ break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
"switch case %#x not processed\n", variable);
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
index 5369011..d91f8bb 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
@@ -164,6 +164,8 @@ void rtl92de_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
case HW_VAR_INT_AC:
*((bool *)(val)) = rtlpriv->dm.disable_tx_int;
break;
+ case HAL_DEF_WOWLAN:
+ break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
"switch case %#x not processed\n", variable);
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
index 47bb6d8..ebf663e 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
@@ -338,6 +338,8 @@ void rtl92ee_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
*((u64 *)(val)) = tsf;
}
break;
+ case HAL_DEF_WOWLAN:
+ break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
"switch case %#x not processed\n", variable);
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
index 5bad9c9..52e4430 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
@@ -77,6 +77,8 @@ void rtl92se_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
*((bool *)(val)) = rtlpriv->dm.current_mrc_switch;
break;
}
+ case HAL_DEF_WOWLAN:
+ break;
default: {
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
"switch case %#x not processed\n", variable);
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
index 2bf603b..f8be0bd 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
@@ -141,6 +141,8 @@ void rtl8723e_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
}
+ case HAL_DEF_WOWLAN:
+ break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
"switch case %#x not processed\n", variable);
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
index 999c1ac..aba60c3 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
@@ -348,6 +348,8 @@ void rtl8723be_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
*((u64 *)(val)) = tsf;
}
break;
+ case HAL_DEF_WOWLAN:
+ break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
"switch case %#x not processed\n", variable);
--
2.6.6
^ permalink raw reply related
* [PATCH 0/2] rtlwifi: Add missing values to case statements and simplify debugging
From: Larry Finger @ 2016-09-24 16:57 UTC (permalink / raw)
To: kvalo; +Cc: devel, linux-wireless, Larry Finger
Routines *_get_hw_reg() for some of the drivers were missing entries for
HAL_DEF_WOWLAN. No action should be taken for these drivers.
Patch 1 depends on "realtek: Add switch variable to 'switch case not
processed' messages" submitted by Joe Perches. That patch will log
missing cases with the hex value. To aid in debugging, the values for
entries in the hardware variables enum are explicitly defined in hex.
Larry Finger (2):
rtlwifi: Add HAL_DEF_WOWLAN case to *_get_hw() routines
rtlwifi: Add explicit values to hw_variables enum
.../net/wireless/realtek/rtlwifi/rtl8188ee/hw.c | 2 +
.../net/wireless/realtek/rtlwifi/rtl8192ce/hw.c | 2 +
.../net/wireless/realtek/rtlwifi/rtl8192de/hw.c | 2 +
.../net/wireless/realtek/rtlwifi/rtl8192ee/hw.c | 2 +
.../net/wireless/realtek/rtlwifi/rtl8192se/hw.c | 2 +
.../net/wireless/realtek/rtlwifi/rtl8723ae/hw.c | 2 +
.../net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 2 +
drivers/net/wireless/realtek/rtlwifi/wifi.h | 208 ++++++++++-----------
8 files changed, 118 insertions(+), 104 deletions(-)
--
2.6.6
^ permalink raw reply
* Re: [PATCH] realtek: Add switch variable to 'switch case not processed' messages
From: Larry Finger @ 2016-09-24 16:35 UTC (permalink / raw)
To: Joe Perches, Jean Delvare
Cc: Chaoming Li, Kalle Valo, linux-wireless, netdev, linux-kernel
In-Reply-To: <1474733754.23838.3.camel@perches.com>
On 09/24/2016 11:15 AM, Joe Perches wrote:
> On Sat, 2016-09-24 at 17:55 +0200, Jean Delvare wrote:
>> Would it make sense to explicitly set the enum values, or add them as
>> comments, to make such look-ups easier?
>
> If you want to create enum->#ENUM structs and
> "const char *" lookup functions, please be my guest.
>
> otherwise, hex is at least a consistent way to display
> what should be infrequent output.
Displaying those values as hex is OK. As Joe says, they will not be shown very
often.
I have patches that makes HAL_DEF_WOWLAN be a no-op for the rest of the drivers,
and one that sets the enum values for that particular statement to hex values. I
also looked at the other large enums and decided that they never need the human
lookup.
Larry
^ permalink raw reply
* Re: [PATCH] realtek: Add switch variable to 'switch case not processed' messages
From: Joe Perches @ 2016-09-24 16:15 UTC (permalink / raw)
To: Jean Delvare
Cc: Larry Finger, Chaoming Li, Kalle Valo, linux-wireless, netdev,
linux-kernel
In-Reply-To: <20160924175555.01cae6dd@endymion>
On Sat, 2016-09-24 at 17:55 +0200, Jean Delvare wrote:
> Would it make sense to explicitly set the enum values, or add them as
> comments, to make such look-ups easier?
If you want to create enum->#ENUM structs and
"const char *" lookup functions, please be my guest.
otherwise, hex is at least a consistent way to display
what should be infrequent output.
^ permalink raw reply
* Re: [PATCH] realtek: Add switch variable to 'switch case not processed' messages
From: Jean Delvare @ 2016-09-24 15:55 UTC (permalink / raw)
To: Joe Perches
Cc: Larry Finger, Chaoming Li, Kalle Valo, linux-wireless, netdev,
linux-kernel
In-Reply-To: <1474657363.1849.9.camel@perches.com>
Hi Joe, Larry,
On Fri, 23 Sep 2016 12:02:43 -0700, Joe Perches wrote:
> On Fri, 2016-09-23 at 13:59 -0500, Larry Finger wrote:
> > I'm not familiar with the %#x format. What does it do?
>
> Outputs SPECIAL prefix, it's the same as "0x%x"
>
> lib/vsprintf.c:
> #define SPECIAL 64 /* prefix hex with "0x", octal with "0" */
Is hexadecimal actually the best way to display these values? I guess it
depends how they are listed in the datasheets (if there's anything like
that for these chips?)
I found it a bit difficult to look up the meaning of the value.
HAL_DEF_WOWLAN is an enum value, the number is not set and there's no
comment. I had to count the line numbers, taking blank lines into
account... I ended up pasting the whole enum to a random C file and
printing the value of HAL_DEF_WOWLAN to make sure it was 92.
Would it make sense to explicitly set the enum values, or add them as
comments, to make such look-ups easier?
--
Jean Delvare
SUSE L3 Support
^ permalink raw reply
* Re: rtl8192ce:rtl92ce_get_hw_reg():<0-0> switch case not processed
From: Jean Delvare @ 2016-09-24 15:25 UTC (permalink / raw)
To: Larry Finger; +Cc: Chaoming Li, linux-wireless
In-Reply-To: <6feb0feb-eb53-8b6b-4c50-e6ace0cc854a@lwfinger.net>
Hi Larry,
On Fri, 23 Sep 2016 13:10:28 -0500, Larry Finger wrote:
> As the RTL8192CE does not support WOWLAN, the correct response is to ignore that
> call. Clearly, it has nothing to do with your network drops. One thing you might
> do is add the appropriate file in /etc/modprobe.d/ so that the module is loaded
> with the "ips=0" option to see if power save is messing up.
OK, we have just added the option, I'll let you know if it makes a
difference.
There are other messages logged, by the way. I did not mention them
before because they don't look like errors and "switch case not
processed" was my prime suspect, but maybe they would be useful to you:
wlp3s0: AP 94:a7:b7:xx:xx:xx changed bandwidth, new config is 2427 MHz, width 2 (2437/0 MHz)
wlp3s0: AP 94:a7:b7:xx:xx:xx changed bandwidth, new config is 2427 MHz, width 1 (2427/0 MHz)
wlp3s0: AP 94:a7:b7:xx:xx:xx changed bandwidth, new config is 2427 MHz, width 2 (2437/0 MHz)
It oscillates between both values. There doesn't seem to be a
correlation with the failures. The timing doesn't appear to be fully
random, for example these are the timestamps for this morning:
[Sat. sept. 24 09:17:16 2016]
[Sat. sept. 24 09:32:11 2016]
[Sat. sept. 24 10:27:15 2016]
[Sat. sept. 24 10:52:11 2016]
[Sat. sept. 24 12:07:16 2016]
[Sat. sept. 24 12:44:22 2016]
15 minutes, 55 minutes, 25 minutes, 75 minutes... Looks like something
is checking adjusting the configuration every 5 minutes? Last one
doesn't follow the pattern though (37 minutes.)
> I am in the process of fixing all the instances where the log entry for the
> default case does not output the switch variable. With these patches, I will
> also handle the HAL_DEF_WOWLAN case.
Great, thanks.
> I'm sorry about my original comments regarding patching the kernel. I sent that
> E-mail before I even read your name and address. As a long-time openSUSE user, I
> certainly recognize your name and your abilities.
No worry :-)
--
Jean Delvare
SUSE L3 Support
^ permalink raw reply
* Re: [PATCH 10/25] iwlwifi: mvm: support packet injection
From: Kalle Valo @ 2016-09-24 11:19 UTC (permalink / raw)
To: Luca Coelho; +Cc: linux-wireless, Sara Sharon, Luca Coelho
In-Reply-To: <20160919073028.22065-10-luca@coelho.fi>
Luca Coelho <luca@coelho.fi> writes:
> From: Sara Sharon <sara.sharon@intel.com>
>
> For automatic testing packet injection can be useful.
> Support injection through debugfs.
>
> Signed-off-by: Sara Sharon <sara.sharon@intel.com>
> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
The commit log doesn't tell a lot. I started to wonder why use debugfs
and not the proper interface through mac80211?
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
> @@ -917,6 +917,59 @@ static ssize_t iwl_dbgfs_indirection_tbl_write(struct iwl_mvm *mvm,
> return ret ?: count;
> }
>
> +static ssize_t iwl_dbgfs_inject_packet_write(struct iwl_mvm *mvm,
> + char *buf, size_t count,
> + loff_t *ppos)
> +{
> + struct iwl_rx_cmd_buffer rxb = {
> + ._rx_page_order = 0,
> + .truesize = 0, /* not used */
> + ._offset = 0,
> + };
> + struct iwl_rx_packet *pkt;
> + struct iwl_rx_mpdu_desc *desc;
> + int bin_len = count / 2;
> + int ret = -EINVAL;
> +
> + /* supporting only 9000 descriptor */
> + if (!mvm->trans->cfg->mq_rx_supported)
> + return -ENOTSUPP;
> +
> + rxb._page = alloc_pages(GFP_ATOMIC, 0);
> + if (!rxb._page)
> + return -ENOMEM;
> + pkt = rxb_addr(&rxb);
> +
> + ret = hex2bin(page_address(rxb._page), buf, bin_len);
> + if (ret)
> + goto out;
> +
> + /* avoid invalid memory access */
> + if (bin_len < sizeof(*pkt) + sizeof(*desc))
> + goto out;
> +
> + /* check this is RX packet */
> + if (WIDE_ID(pkt->hdr.group_id, pkt->hdr.cmd) !=
> + WIDE_ID(LEGACY_GROUP, REPLY_RX_MPDU_CMD))
> + goto out;
> +
> + /* check the length in metadata matches actual received length */
> + desc = (void *)pkt->data;
> + if (le16_to_cpu(desc->mpdu_len) !=
> + (bin_len - sizeof(*desc) - sizeof(*pkt)))
> + goto out;
> +
> + local_bh_disable();
> + iwl_mvm_rx_mpdu_mq(mvm, NULL, &rxb, 0);
> + local_bh_enable();
> + ret = 0;
But reading from the code makes me suspect that this isn't really normal
packet injection, more like passing full descriptors to the hw. Did I
understand correctly?
--
Kalle Valo
^ permalink raw reply
* Re: [PATCH] brcmfmac: fix memory leak in brcmf_fill_bss_param
From: Kalle Valo @ 2016-09-24 10:27 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Rafał Miłecki, Arend van Spriel, Franky Lin,
Hante Meuleman, Pieter-Paul Giesberts, Franky (Zhenhui) Lin,
linux-wireless, brcm80211-dev-list.pdl, netdev, linux-kernel
In-Reply-To: <20160921062327.28729-1-zajec5@gmail.com>
Rafa=C5=82 Mi=C5=82ecki <zajec5@gmail.com> writes:
> From: Rafa=C5=82 Mi=C5=82ecki <rafal@milecki.pl>
>
> This function is called from get_station callback which means that every
> time user space was getting/dumping station(s) we were leaking 2 KiB.
>
> Signed-off-by: Rafa=C5=82 Mi=C5=82ecki <rafal@milecki.pl>
> Fixes: 1f0dc59a6de ("brcmfmac: rework .get_station() callback")
> Cc: stable@vger.kernel.org # 4.2+
> ---
> Kalle, ideally this should go as 4.8 fix, but I'm aware it's quite late.
> If you are not planning to send another pull request, just get it for
> the next release and let's let stable guys backport it.
An old memory leak is not severe enough for 4.8 at this stage, so I'll
queue this to 4.9.
BTW, either my Gnus or my SMTP server (I haven't bothered to check yet
why exactly) don't like the names with style of "(open list:NETWORKING
DRIVERS)" in the CC list, I have to edit them away everytime I reply.
Does anyone have any ideas why that's happening just to me?
--=20
Kalle Valo
^ permalink raw reply
* Re: ath10k mesh + ap + encryption?
From: Pedersen, Thomas @ 2016-09-23 22:18 UTC (permalink / raw)
To: Simon Wunderlich
Cc: ath10k@lists.infradead.org, Valo, Kalle, Martin Blumenstingl,
openwrt-devel@lists.openwrt.org, linux-wireless@vger.kernel.org
In-Reply-To: <5898628.mmcCycDigQ@prime>
T24gTW9uLCAyMDE2LTA5LTE5IGF0IDA4OjQzICswMjAwLCBTaW1vbiBXdW5kZXJsaWNoIHdyb3Rl
Og0KPiBPbiBUdWVzZGF5LCBTZXB0ZW1iZXIgMTMsIDIwMTYgNTo1NDozOCBQTSBDRVNUIFBlZGVy
c2VuLCBUaG9tYXMgd3JvdGU6DQo+ID4gT24gVHVlLCAyMDE2LTA5LTEzIGF0IDE0OjMwICswMjAw
LCBTaW1vbiBXdW5kZXJsaWNoIHdyb3RlOg0KPiA+IA0KPiA+ID4gWy4uLl0NCj4gPiA+DQo+ID4g
PiBUaGFua3MgZm9yIHRoZSBjbGFyaWZpY2F0aW9uLiBXZSB3aWxsIHRoZW4gc3RpY2sgdG8gdGhl
IDcwJ3MgYnJhbmNoDQo+ID4gPiB0aGVuLg0KPiA+ID4gDQo+ID4gPiBEb2VzIGFueW9uZSBoYXZl
IHBvaW50ZXJzIGZvciB0aGUgb3RoZXIgcXVlc3Rpb25zPyA6KSBJIHdvdWxkIGJlbGlldmUNCj4g
PiA+IGhhdCBtYW55IA0KPiA+ID4gcGVvcGxlIHdvdWxkIGJlIGludGVyZXN0ZWQgaW4gcnVubmlu
ZyBBUCArIE1lc2ggZW5jcnlwdGVkIGF0IHRoZSBzYW1lDQo+ID4gPiB0aW1lIChhdCANCj4gPiA+
IGxlYXN0IGluIHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgLi4uKS4NCj4gPiANCj4gPiANCj4g
PiBXZSdyZSB0ZXN0aW5nIGVuY3J5cHRlZCBBUCArIE1lc2ggcXVpdGUgc3VjY2Vzc2Z1bGx5IHJp
Z2h0IG5vdyB3aXRoDQo+ID4gdGhpcyBmaXJtd2FyZTogaHR0cHM6Ly9naXRodWIuY29tL2t2YWxv
L2F0aDEway1maXJtd2FyZS9jb21taXQvMzA3Y2I0NmINCj4gPiAwNjY2MWViZDMxODY3MjNiNTAw
MmRlNzY5YzdhZGQ4Mywgb2YgY291cnNlIHRoYXQgaXMgZm9yIGEgUUNBNDAxOSBjaGlwLg0KPiA+
IFdoaWNoIGNoaXAgYXJlIHlvdSB1c2luZz8gSSBjYW4gcG9rZSB0aGUgZmlybXdhcmUgZ3V5cyBm
b3IgcG9zc2liaWxpdHkNCj4gPiBvZiBnZXR0aW5nIGEgMTAuNC4zLjIgZmlybXdhcmUgYnVpbGQg
Zm9yIGl0Lg0KPiANCj4gSGkgVGhvbWFzLA0KPiANCj4gdGhhbmtzIGZvciB0aGUgaGludCEgV2Ug
YXJlIHVzaW5nIGFuIG9sZGVyIFFDQTk4ODIuIEkgYXNzdW1lIHlvdXIgZmlybXdhcmUgd2lsbCAN
Cj4gbm90IHdvcmsgZm9yIHRoaXMgb25lPyBJZiB5b3UgY2FuIHBva2UgdGhlIGZpcm13YXJlIGd1
eXMsIHRoYXQgd291bGQgYmUgZ3JlYXQuIA0KPiA6KQ0KDQpIaSBTaW1vbiwNCg0KQWNjb3JkaW5n
IHRvIGZpcm13YXJlIGd1eXMgdGhlIGxhdGVzdCBjb2RlIGNhbiBhY3R1YWxseSBjb21waWxlIGRv
d24gdG8NCmFueSBjaGlwc2V0LCBzbyBpdCBzaG91bGQgc2ltcGx5IGJlIGEgbWF0dGVyIG9mIGdl
dHRpbmcgYnVpbGRzIHJlbGVhc2VkLg0K
^ permalink raw reply
* [PATCH 1/3] fq.h: Port memory limit mechanism from fq_codel
From: Toke Høiland-Jørgensen @ 2016-09-23 19:59 UTC (permalink / raw)
To: make-wifi-fast, linux-wireless, netdev; +Cc: Toke Høiland-Jørgensen
In-Reply-To: <20160923195911.4572-1-toke@toke.dk>
The reusable fairness queueing implementation (fq.h) lacks the memory
usage limit that the fq_codel qdisc has. This means that small
devices (e.g. WiFi routers) can run out of memory when flooded with a
large number of packets. This ports the memory limit feature from
fq_codel to fq.h.
Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen <toke@toke.dk>
---
include/net/fq.h | 3 +++
include/net/fq_impl.h | 7 ++++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/include/net/fq.h b/include/net/fq.h
index 268b490..6d8521a 100644
--- a/include/net/fq.h
+++ b/include/net/fq.h
@@ -72,9 +72,12 @@ struct fq {
u32 flows_cnt;
u32 perturbation;
u32 limit;
+ u32 memory_limit;
+ u32 memory_usage;
u32 quantum;
u32 backlog;
u32 overlimit;
+ u32 overmemory;
u32 collisions;
};
=20
diff --git a/include/net/fq_impl.h b/include/net/fq_impl.h
index 163f3ed..4e6131c 100644
--- a/include/net/fq_impl.h
+++ b/include/net/fq_impl.h
@@ -29,6 +29,7 @@ static struct sk_buff *fq_flow_dequeue(struct fq *fq,
tin->backlog_packets--;
flow->backlog -=3D skb->len;
fq->backlog--;
+ fq->memory_usage -=3D skb->truesize;
=20
if (flow->backlog =3D=3D 0) {
list_del_init(&flow->backlogchain);
@@ -154,6 +155,7 @@ static void fq_tin_enqueue(struct fq *fq,
flow->backlog +=3D skb->len;
tin->backlog_bytes +=3D skb->len;
tin->backlog_packets++;
+ fq->memory_usage +=3D skb->truesize;
fq->backlog++;
=20
fq_recalc_backlog(fq, tin, flow);
@@ -166,7 +168,7 @@ static void fq_tin_enqueue(struct fq *fq,
=20
__skb_queue_tail(&flow->queue, skb);
=20
- if (fq->backlog > fq->limit) {
+ if (fq->backlog > fq->limit || fq->memory_usage > fq->memory_limit) {
flow =3D list_first_entry_or_null(&fq->backlogs,
struct fq_flow,
backlogchain);
@@ -181,6 +183,8 @@ static void fq_tin_enqueue(struct fq *fq,
=20
flow->tin->overlimit++;
fq->overlimit++;
+ if (fq->memory_usage > fq->memory_limit)
+ fq->overmemory++;
}
}
=20
@@ -251,6 +255,7 @@ static int fq_init(struct fq *fq, int flows_cnt)
fq->perturbation =3D prandom_u32();
fq->quantum =3D 300;
fq->limit =3D 8192;
+ fq->memory_limit =3D 16 << 20; /* 16 MBytes */
=20
fq->flows =3D kcalloc(fq->flows_cnt, sizeof(fq->flows[0]), GFP_KERNEL);
if (!fq->flows)
--=20
2.9.3
^ permalink raw reply related
* [PATCH 3/3] mac80211: Set lower memory limit for non-VHT devices
From: Toke Høiland-Jørgensen @ 2016-09-23 19:59 UTC (permalink / raw)
To: make-wifi-fast, linux-wireless, netdev; +Cc: Toke Høiland-Jørgensen
In-Reply-To: <20160923195911.4572-1-toke@toke.dk>
Small devices can run out of memory from queueing too many packets. If
VHT is not supported by the PHY, having more than 4 MBytes of total
queue in the TXQ intermediate queues is not needed, and so we can safely
limit the memory usage in these cases and avoid OOM.
Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen <toke@toke.dk>
---
net/mac80211/tx.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 1ff08be..82f41fc 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1434,6 +1434,8 @@ int ieee80211_txq_setup_flows(struct ieee80211_loca=
l *local)
struct fq *fq =3D &local->fq;
int ret;
int i;
+ bool supp_vht =3D false;
+ enum nl80211_band band;
=20
if (!local->ops->wake_tx_queue)
return 0;
@@ -1442,6 +1444,22 @@ int ieee80211_txq_setup_flows(struct ieee80211_loc=
al *local)
if (ret)
return ret;
=20
+ /*
+ * If the hardware doesn't support VHT, it is safe to limit the maximum
+ * queue size. 4 Mbytes is 64 max-size aggregates in 802.11n.
+ */
+ for (band =3D 0; band < NUM_NL80211_BANDS; band++) {
+ struct ieee80211_supported_band *sband;
+
+ sband =3D local->hw.wiphy->bands[band];
+ if (!sband)
+ continue;
+
+ supp_vht =3D supp_vht || sband->vht_cap.vht_supported;
+ }
+ if (!supp_vht)
+ fq->memory_limit =3D 4 << 20; /* 4 Mbytes */
+
codel_params_init(&local->cparams);
local->cparams.interval =3D MS2TIME(100);
local->cparams.target =3D MS2TIME(20);
--=20
2.9.3
^ permalink raw reply related
* [PATCH 2/3] mac80211: Export fq memory limit information in debugfs
From: Toke Høiland-Jørgensen @ 2016-09-23 19:59 UTC (permalink / raw)
To: make-wifi-fast, linux-wireless, netdev; +Cc: Toke Høiland-Jørgensen
In-Reply-To: <20160923195911.4572-1-toke@toke.dk>
Add memory limit, usage and overlimit counter to per-PHY 'aqm' debugfs
file.
Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen <toke@toke.dk>
---
net/mac80211/debugfs.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/net/mac80211/debugfs.c b/net/mac80211/debugfs.c
index 8ca62b6..f56e2f4 100644
--- a/net/mac80211/debugfs.c
+++ b/net/mac80211/debugfs.c
@@ -89,13 +89,19 @@ static ssize_t aqm_read(struct file *file,
"R fq_flows_cnt %u\n"
"R fq_backlog %u\n"
"R fq_overlimit %u\n"
+ "R fq_overmemory %u\n"
"R fq_collisions %u\n"
+ "R fq_memory_usage %u\n"
+ "RW fq_memory_limit %u\n"
"RW fq_limit %u\n"
"RW fq_quantum %u\n",
fq->flows_cnt,
fq->backlog,
+ fq->overmemory,
fq->overlimit,
fq->collisions,
+ fq->memory_usage,
+ fq->memory_limit,
fq->limit,
fq->quantum);
=20
@@ -128,6 +134,8 @@ static ssize_t aqm_write(struct file *file,
=20
if (sscanf(buf, "fq_limit %u", &local->fq.limit) =3D=3D 1)
return count;
+ else if (sscanf(buf, "fq_memory_limit %u", &local->fq.memory_limit) =3D=
=3D 1)
+ return count;
else if (sscanf(buf, "fq_quantum %u", &local->fq.quantum) =3D=3D 1)
return count;
=20
--=20
2.9.3
^ permalink raw reply related
* [PATCH 0/3] Add memory limits to fq.h and mac80211 TXQ
From: Toke Høiland-Jørgensen @ 2016-09-23 19:59 UTC (permalink / raw)
To: make-wifi-fast, linux-wireless, netdev; +Cc: Toke Høiland-Jørgensen
This is a series of small patches to avoid OOM conditions on small
wireless devices with the mac80211 intermediate TXQ structure. The
current default limit in fq.h translates to up to 16 Mbytes of memory
usage, which can be fatal to a device with 32 MBytes of total RAM.
Rather than just change the fq_limit, this ports the memory limit
mechanism from the fq_codel qdisc. The second patch in the series just
adds the new fields to the mac80211 'aqm' debugfs file.
The third patch changes mac80211 to set a lower memory limit for non-VHT
devices. The assumption is that (a) for 802.11n and lower 4 Mbytes of
total queue (2048 packets, 64 max-size aggregates) is plenty, and so it
is safe to simply limit the queue size. And (b) that VHT-capable devices
are usually installed in systems equipped with more system memory.
Toke H=C3=B8iland-J=C3=B8rgensen (3):
fq.h: Port memory limit mechanism from fq_codel
mac80211: Export fq memory limit information in debugfs
mac80211: Set lower memory limit for non-VHT devices
include/net/fq.h | 3 +++
include/net/fq_impl.h | 7 ++++++-
net/mac80211/debugfs.c | 8 ++++++++
net/mac80211/tx.c | 18 ++++++++++++++++++
4 files changed, 35 insertions(+), 1 deletion(-)
--=20
2.9.3
base-commit: fb2a3d5c7c85cb6e8bc88192be919b4ef8d6e630
^ permalink raw reply
* Re: Broadcom Firmware Rollback
From: Larry Finger @ 2016-09-23 19:09 UTC (permalink / raw)
To: David Petrizze, Rafał Miłecki; +Cc: linux-wireless@vger.kernel.org
In-Reply-To: <CA+PvwyGUF8a3FPpQVkHLMsT=YdD=LwN6bqKfZBO7=KZEv+UpgA@mail.gmail.com>
On 09/23/2016 01:45 PM, David Petrizze wrote:
> I see. I guess I was hoping for some sort of mishap i.e. replacing
> 6.20 with 6.30 without thinking. If it wasn't released, I'll keep
> working on compiling the Ubuntu driver I did find.
If you can point me to a redistributable version of 6.20, I will add it to
fwcutter and my server.
Larry
^ permalink raw reply
* Re: [PATCH] realtek: Add switch variable to 'switch case not processed' messages
From: Larry Finger @ 2016-09-23 19:07 UTC (permalink / raw)
To: Joe Perches, Jean Delvare, Chaoming Li
Cc: Kalle Valo, linux-wireless, netdev, linux-kernel
In-Reply-To: <d091f73a6adf3bdaa09ab0399c22a9fdfe9b188c.1474654979.git.joe@perches.com>
On 09/23/2016 01:27 PM, Joe Perches wrote:
> Help along debugging by showing what switch/case variable is not
> being processed in these messages.
>
> Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Thanks,
Larry
^ permalink raw reply
* Re: [PATCH] realtek: Add switch variable to 'switch case not processed' messages
From: Joe Perches @ 2016-09-23 19:02 UTC (permalink / raw)
To: Larry Finger, Jean Delvare, Chaoming Li
Cc: Kalle Valo, linux-wireless, netdev, linux-kernel
In-Reply-To: <f98d2cf1-802a-93c1-b219-ec45aa417940@lwfinger.net>
On Fri, 2016-09-23 at 13:59 -0500, Larry Finger wrote:
> I'm not familiar with the %#x format. What does it do?
Outputs SPECIAL prefix, it's the same as "0x%x"
lib/vsprintf.c:
#define SPECIAL 64 /* prefix hex with "0x", octal with "0" */
^ permalink raw reply
* Re: [PATCH] realtek: Add switch variable to 'switch case not processed' messages
From: Larry Finger @ 2016-09-23 18:59 UTC (permalink / raw)
To: Joe Perches, Jean Delvare, Chaoming Li
Cc: Kalle Valo, linux-wireless, netdev, linux-kernel
In-Reply-To: <d091f73a6adf3bdaa09ab0399c22a9fdfe9b188c.1474654979.git.joe@perches.com>
On 09/23/2016 01:27 PM, Joe Perches wrote:
> Help along debugging by showing what switch/case variable is not
> being processed in these messages.
>
> Signed-off-by: Joe Perches <joe@perches.com>
Joe,
You beat me to the patch. No problem as this one looks OK; however, I'm not
familiar with the %#x format. What does it do?
Larry
> ---
> drivers/net/wireless/realtek/rtlwifi/core.c | 3 ++-
> drivers/net/wireless/realtek/rtlwifi/pci.c | 3 ++-
> drivers/net/wireless/realtek/rtlwifi/ps.c | 2 +-
> drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c | 9 +++++----
> drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c | 10 ++++++----
> .../wireless/realtek/rtlwifi/rtl8192c/fw_common.c | 4 ++--
> .../wireless/realtek/rtlwifi/rtl8192c/phy_common.c | 8 +++++---
> drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c | 7 ++++---
> drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c | 7 ++-----
> drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c | 7 ++-----
> drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c | 9 +++++----
> drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 15 +++++++--------
> drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c | 9 +++++----
> drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c | 10 ++++++----
> drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c | 9 +++++----
> drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c | 5 +++--
> drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c | 9 +++++----
> drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c | 10 ++++++----
> drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 10 +++++-----
> drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c | 12 +++++++-----
> drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c | 9 +++++----
> drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c | 4 ++--
> drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c | 20 ++++++--------------
> 38 files changed, 128 insertions(+), 123 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
> index 7aee5ebb1..f95760c 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/core.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/core.c
> @@ -765,7 +765,8 @@ static int rtl_op_config(struct ieee80211_hw *hw, u32 changed)
> mac->bw_40 = false;
> mac->bw_80 = false;
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n",
> + channel_type);
> break;
> }
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
> index d12586d..0dfa9ea 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/pci.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
> @@ -179,7 +179,8 @@ static void _rtl_pci_update_default_setting(struct ieee80211_hw *hw)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n",
> + rtlpci->const_support_pciaspm);
> break;
> }
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/ps.c b/drivers/net/wireless/realtek/rtlwifi/ps.c
> index 9a64f9b..18d979a 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/ps.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/ps.c
> @@ -151,7 +151,7 @@ static bool rtl_ps_set_rf_state(struct ieee80211_hw *hw,
>
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", state_toset);
> break;
> }
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c
> index 6291256..5360d53 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c
> @@ -334,7 +334,7 @@ static void _rtl88e_fill_h2c_command(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", boxnum);
> break;
> }
> isfw_read = _rtl88e_check_fw_read_last_h2c(hw, boxnum);
> @@ -405,7 +405,7 @@ static void _rtl88e_fill_h2c_command(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", cmd_len);
> break;
> }
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
> index 4ab6201..3285117 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
> @@ -357,7 +357,7 @@ void rtl88ee_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break; }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process %x\n", variable);
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -571,7 +571,8 @@ void rtl88ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + e_aci);
> break;
> }
> }
> @@ -735,7 +736,7 @@ void rtl88ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break; }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process %x\n", variable);
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -2352,7 +2353,7 @@ void rtl88ee_set_key(struct ieee80211_hw *hw, u32 key_index,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", enc_algo);
> enc_algo = CAM_TKIP;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c
> index b504bd0..f05c2c6 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c
> @@ -62,7 +62,7 @@ void rtl88ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -100,7 +100,7 @@ void rtl88ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
> index 7498a12..fffaa92 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
> @@ -1346,7 +1346,8 @@ static bool _rtl88e_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + currentcmd->cmdid);
> break;
> }
>
> @@ -2128,7 +2129,7 @@ bool rtl88e_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", iotype);
> break;
> }
> } while (false);
> @@ -2166,7 +2167,8 @@ static void rtl88e_phy_set_io(struct ieee80211_hw *hw)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + rtlphy->current_io_type);
> break;
> }
> rtlphy->set_io_inprogress = false;
> @@ -2319,7 +2321,7 @@ static bool _rtl88ee_phy_set_rf_power_state(struct ieee80211_hw *hw,
> }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c
> index 43fcb25..7d15246 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c
> @@ -352,7 +352,7 @@ static void _rtl92c_fill_h2c_command(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", boxnum);
> break;
> }
>
> @@ -456,7 +456,7 @@ static void _rtl92c_fill_h2c_command(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", cmd_len);
> break;
> }
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
> index 60ab2ec..27e3d5f 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
> @@ -910,7 +910,8 @@ bool _rtl92c_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + currentcmd->cmdid);
> break;
> }
>
> @@ -1567,7 +1568,7 @@ bool rtl92c_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", iotype);
> break;
> }
> } while (false);
> @@ -1605,7 +1606,8 @@ void rtl92c_phy_set_io(struct ieee80211_hw *hw)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + rtlphy->current_io_type);
> break;
> }
> rtlphy->set_io_inprogress = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
> index 2446079..6d308f9 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
> @@ -143,7 +143,7 @@ void rtl92ce_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -367,7 +367,8 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n",
> + e_aci);
> break;
> }
> }
> @@ -2154,7 +2155,7 @@ void rtl92ce_set_key(struct ieee80211_hw *hw, u32 key_index,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", enc_algo);
> enc_algo = CAM_TKIP;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c
> index 8283e9b..24e483b 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c
> @@ -62,7 +62,7 @@ void rtl92ce_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -97,7 +97,7 @@ void rtl92ce_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
> index 1ee5a6a..46d0d94 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
> @@ -300,12 +300,9 @@ bool rtl92c_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
> }
> break;
> case RF90_PATH_C:
> - RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> - break;
> case RF90_PATH_D:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", rfpath);
> break;
> default:
> break;
> @@ -554,7 +551,7 @@ static bool _rtl92ce_phy_set_rf_power_state(struct ieee80211_hw *hw,
> }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
> index 8789752..ae8f055 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
> @@ -1560,7 +1560,7 @@ void rtl92cu_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -1931,7 +1931,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c
> index 75a2deb..8514ab65 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c
> @@ -62,7 +62,7 @@ void rtl92cu_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -95,7 +95,7 @@ void rtl92cu_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
> index c972fa5..4b29764 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
> @@ -277,12 +277,9 @@ bool rtl92cu_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
> }
> break;
> case RF90_PATH_C:
> - RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> - break;
> case RF90_PATH_D:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", rfpath);
> break;
> default:
> break;
> @@ -517,7 +514,7 @@ static bool _rtl92cu_phy_set_rf_power_state(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c
> index 62ef820..8de29cc 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c
> @@ -435,7 +435,7 @@ static void _rtl92d_fill_h2c_command(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", boxnum);
> break;
> }
> isfw_read = _rtl92d_check_fw_read_last_h2c(hw, boxnum);
> @@ -512,7 +512,7 @@ static void _rtl92d_fill_h2c_command(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", cmd_len);
> break;
> }
> bwrite_success = true;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
> index 5720551..5369011 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
> @@ -166,7 +166,7 @@ void rtl92de_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -361,7 +361,8 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n",
> + e_aci);
> break;
> }
> }
> @@ -502,7 +503,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -2171,7 +2172,7 @@ void rtl92de_set_key(struct ieee80211_hw *hw, u32 key_index,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", enc_algo);
> enc_algo = CAM_TKIP;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c
> index 76a57ae..811ba57 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c
> @@ -71,7 +71,7 @@ void rtl92de_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -106,7 +106,7 @@ void rtl92de_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> index 2a4810d..2a1edfd 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> @@ -836,12 +836,9 @@ bool rtl92d_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
> }
> break;
> case RF90_PATH_C:
> - RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> - break;
> case RF90_PATH_D:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", rfpath);
> break;
> }
> return true;
> @@ -2850,7 +2847,8 @@ static bool _rtl92d_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n",
> + currentcmd->cmdid);
> break;
> }
> break;
> @@ -2963,7 +2961,8 @@ static void rtl92d_phy_set_io(struct ieee80211_hw *hw)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n",
> + rtlphy->current_io_type);
> break;
> }
> rtlphy->set_io_inprogress = false;
> @@ -2994,7 +2993,7 @@ bool rtl92d_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", iotype);
> break;
> }
> } while (false);
> @@ -3182,7 +3181,7 @@ bool rtl92d_phy_set_rf_power_state(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c
> index 0708eed..b3f6a9e 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c
> @@ -344,7 +344,7 @@ static void _rtl92ee_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", boxnum);
> break;
> }
>
> @@ -433,7 +433,7 @@ static void _rtl92ee_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", cmd_len);
> break;
> }
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
> index b07af8d..47bb6d8 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
> @@ -340,7 +340,7 @@ void rtl92ee_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
> - "switch case not process %x\n", variable);
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -566,7 +566,8 @@ void rtl92ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + e_aci);
> break;
> }
> }
> @@ -685,7 +686,7 @@ void rtl92ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
> - "switch case not process %x\n", variable);
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -2463,7 +2464,7 @@ void rtl92ee_set_key(struct ieee80211_hw *hw, u32 key_index,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", enc_algo);
> enc_algo = CAM_TKIP;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c
> index 8388e37..47da05d 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c
> @@ -61,7 +61,7 @@ void rtl92ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -91,7 +91,7 @@ void rtl92ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
> index beafc9a..5ad7e75 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
> @@ -1927,7 +1927,8 @@ static bool _rtl92ee_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + currentcmd->cmdid);
> break;
> }
>
> @@ -3001,7 +3002,7 @@ bool rtl92ee_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", iotype);
> break;
> }
> } while (false);
> @@ -3041,7 +3042,8 @@ static void rtl92ee_phy_set_io(struct ieee80211_hw *hw)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + rtlphy->current_io_type);
> break;
> }
> rtlphy->set_io_inprogress = false;
> @@ -3187,7 +3189,7 @@ static bool _rtl92ee_phy_set_rf_power_state(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
> index ddfa0ae..5bad9c9 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
> @@ -79,7 +79,7 @@ void rtl92se_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> }
> default: {
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -297,7 +297,8 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n",
> + e_aci);
> break;
> }
> }
> @@ -433,7 +434,7 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break; }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
>
> @@ -2465,7 +2466,7 @@ void rtl92se_set_key(struct ieee80211_hw *hw, u32 key_index, u8 *p_macaddr,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", enc_algo);
> enc_algo = CAM_TKIP;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c
> index 44949b5..9849cb9 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c
> @@ -68,7 +68,7 @@ void rtl92se_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -104,7 +104,7 @@ void rtl92se_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
> index 881821f..4bb7558 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
> @@ -442,7 +442,8 @@ static bool _rtl92s_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n",
> + currentcmd->cmdid);
> break;
> }
>
> @@ -648,7 +649,7 @@ bool rtl92s_phy_set_rf_power_state(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not processed\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c
> index b7c0d38..1186755 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c
> @@ -124,7 +124,7 @@ static void _rtl8723e_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", boxnum);
> break;
> }
>
> @@ -230,7 +230,7 @@ static void _rtl8723e_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", cmd_len);
> break;
> }
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
> index ba30efc..2bf603b 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
> @@ -143,7 +143,7 @@ void rtl8723e_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -366,7 +366,8 @@ void rtl8723e_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + e_aci);
> break;
> }
> }
> @@ -546,7 +547,7 @@ void rtl8723e_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -2225,7 +2226,7 @@ void rtl8723e_set_key(struct ieee80211_hw *hw, u32 key_index,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", enc_algo);
> enc_algo = CAM_TKIP;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c
> index 1317335..c7be934 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c
> @@ -63,7 +63,7 @@ void rtl8723e_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -105,7 +105,7 @@ void rtl8723e_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
> index 601b78e..17b58cb 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
> @@ -1023,7 +1023,8 @@ static bool _rtl8723e_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + currentcmd->cmdid);
> break;
> }
>
> @@ -1499,7 +1500,7 @@ bool rtl8723e_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", iotype);
> break;
> }
> } while (false);
> @@ -1536,7 +1537,8 @@ static void rtl8723e_phy_set_io(struct ieee80211_hw *hw)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + rtlphy->current_io_type);
> break;
> }
> rtlphy->set_io_inprogress = false;
> @@ -1682,7 +1684,7 @@ static bool _rtl8723e_phy_set_rf_power_state(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c
> index d5da0f3..8c5c27c 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c
> @@ -122,7 +122,7 @@ static void _rtl8723be_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", boxnum);
> break;
> }
>
> @@ -195,7 +195,7 @@ static void _rtl8723be_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", cmd_len);
> break;
> }
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> index 82e4476..999c1ac 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> @@ -350,7 +350,7 @@ void rtl8723be_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process %x\n", variable);
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -607,7 +607,8 @@ void rtl8723be_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + e_aci);
> break;
> }
> }
> @@ -723,8 +724,7 @@ void rtl8723be_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process %x\n",
> - variable);
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -2565,7 +2565,7 @@ void rtl8723be_set_key(struct ieee80211_hw *hw, u32 key_index,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", enc_algo);
> enc_algo = CAM_TKIP;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c
> index 4196efb..497913e 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c
> @@ -58,7 +58,7 @@ void rtl8723be_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -100,7 +100,7 @@ void rtl8723be_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
> index 285818d..3cc2232 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
> @@ -837,7 +837,7 @@ bool rtl8723be_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
> break;
> case RF90_PATH_D:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", rfpath);
> break;
> }
> return true;
> @@ -1507,7 +1507,8 @@ static bool _rtl8723be_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + currentcmd->cmdid);
> break;
> }
>
> @@ -2515,7 +2516,7 @@ bool rtl8723be_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", iotype);
> break;
> }
> } while (false);
> @@ -2553,7 +2554,8 @@ static void rtl8723be_phy_set_io(struct ieee80211_hw *hw)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + rtlphy->current_io_type);
> break;
> }
> rtlphy->set_io_inprogress = false;
> @@ -2705,7 +2707,7 @@ static bool _rtl8723be_phy_set_rf_power_state(struct ieee80211_hw *hw,
>
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c
> index a4fc70e..b665446 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c
> @@ -392,7 +392,7 @@ static void _rtl8821ae_fill_h2c_command(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", boxnum);
> break;
> }
>
> @@ -481,7 +481,7 @@ static void _rtl8821ae_fill_h2c_command(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", cmd_len);
> break;
> }
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
> index 0cddf1a..1281ebe 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
> @@ -480,7 +480,7 @@ void rtl8821ae_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process %x\n", variable);
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -671,7 +671,8 @@ void rtl8821ae_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + e_aci);
> break;
> }
> }
> @@ -800,7 +801,7 @@ void rtl8821ae_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
> break; }
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process %x\n", variable);
> + "switch case %#x not processed\n", variable);
> break;
> }
> }
> @@ -3934,7 +3935,7 @@ void rtl8821ae_set_key(struct ieee80211_hw *hw, u32 key_index,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", enc_algo);
> enc_algo = CAM_TKIP;
> break;
> }
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c
> index ba1946a..fcb3b28 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c
> @@ -60,7 +60,7 @@ void rtl8821ae_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = true;
> @@ -133,7 +133,7 @@ void rtl8821ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
> - "switch case not process\n");
> + "switch case %#x not processed\n", pled->ledpin);
> break;
> }
> pled->ledon = false;
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
> index a71bfe3..5dad402 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
> @@ -2063,12 +2063,9 @@ bool rtl8812ae_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
> }
> break;
> case RF90_PATH_C:
> - RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> - break;
> case RF90_PATH_D:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", rfpath);
> break;
> }
> return true;
> @@ -2133,16 +2130,10 @@ bool rtl8821ae_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
> break;
>
> case RF90_PATH_B:
> - RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> - break;
> case RF90_PATH_C:
> - RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> - break;
> case RF90_PATH_D:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", rfpath);
> break;
> }
> return true;
> @@ -4670,7 +4661,7 @@ bool rtl8821ae_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", iotype);
> break;
> }
> } while (false);
> @@ -4714,7 +4705,8 @@ static void rtl8821ae_phy_set_io(struct ieee80211_hw *hw)
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n",
> + rtlphy->current_io_type);
> break;
> }
> rtlphy->set_io_inprogress = false;
> @@ -4820,7 +4812,7 @@ static bool _rtl8821ae_phy_set_rf_power_state(struct ieee80211_hw *hw,
> break;
> default:
> RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
> - "switch case not process\n");
> + "switch case %#x not processed\n", rfpwr_state);
> bresult = false;
> break;
> }
>
^ permalink raw reply
* Re: Broadcom Firmware Rollback
From: David Petrizze @ 2016-09-23 18:45 UTC (permalink / raw)
To: Rafał Miłecki; +Cc: linux-wireless@vger.kernel.org
In-Reply-To: <CACna6rwshvB1xPXwdzpJS7uDz-zWWa=pV29B=0J9JJW+GKUx6g@mail.gmail.com>
I see. I guess I was hoping for some sort of mishap i.e. replacing
6.20 with 6.30 without thinking. If it wasn't released, I'll keep
working on compiling the Ubuntu driver I did find.
Thanks again
On Thu, Sep 22, 2016 at 10:48 PM, Rafa=C5=82 Mi=C5=82ecki <zajec5@gmail.com=
> wrote:
> On 23 September 2016 at 04:43, David Petrizze <dpetrizze@gmail.com> wrote=
:
>> I'm having issues with broadcom's latest firmware / driver, version
>> 6.30.163.46. Wireless is solid for about a minute, and then drops
>> completely. My research has led me to believe my chip (BCM4331) is no
>> longer supported under 6.30.X.X, or has a bug somewhere. I want to
>> roll back to the firmware that worked.
>>
>> What I'm looking for is a file named broadcom-wl-6.20.*.*.tar.bz2. I
>> found my current firmware from http://www.lwfinger.com/b43-firmware/,
>> but 6.20.X.X is nowhere to be found. 5.100.X.X is there, but the 4331
>> definitely wasn't supported for that one.
>>
>> Inside each of these archives on lwfinger is a file called wl_apsta.o,
>> where the firmware is extracted from. Since b43-fwcutter only
>> extracts firmware from versions of wl_apsta.o that match specific
>> MD5's, I figure 6.20.X.X has to be out there somewhere.
>>
>> More info can be found from my original post:
>> https://bbs.archlinux.org/viewtopic.php?id=3D217326
>>
>> ...and other people confrim 6.30.X.X being a problem in this ubuntu bug:
>> https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/1189611
>>
>> If anyone could point me in the right direction, I would be immensely gr=
ateful.
>
> You can't make proprietary driver using firmware of your choice, so
> don't bother looking at MIPS drivers stored at Larry's server.
>
> You just need to find a /complete/ (mostly closed source of course)
> driver 6.20 for x86/x86_64. I don't think it was ever published on
> Broadcom's site, I think it was made available to Ubuntu only under
> some agreement. So keep looking at Ubuntu resources.
>
> Also linux-wireless ML focuses on open source drivers, so you may have
> more luck asking at Ubuntu community.
>
> --
> Rafa=C5=82
^ permalink raw reply
* [PATCH] realtek: Add switch variable to 'switch case not processed' messages
From: Joe Perches @ 2016-09-23 18:27 UTC (permalink / raw)
To: Larry Finger, Jean Delvare, Chaoming Li
Cc: Kalle Valo, linux-wireless, netdev, linux-kernel
In-Reply-To: <1474654333.1849.5.camel@perches.com>
Help along debugging by showing what switch/case variable is not
being processed in these messages.
Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/wireless/realtek/rtlwifi/core.c | 3 ++-
drivers/net/wireless/realtek/rtlwifi/pci.c | 3 ++-
drivers/net/wireless/realtek/rtlwifi/ps.c | 2 +-
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c | 9 +++++----
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c | 10 ++++++----
.../wireless/realtek/rtlwifi/rtl8192c/fw_common.c | 4 ++--
.../wireless/realtek/rtlwifi/rtl8192c/phy_common.c | 8 +++++---
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c | 7 ++++---
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c | 7 ++-----
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c | 7 ++-----
drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c | 9 +++++----
drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 15 +++++++--------
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c | 9 +++++----
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c | 10 ++++++----
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c | 9 +++++----
drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c | 5 +++--
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c | 9 +++++----
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c | 10 ++++++----
drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 10 +++++-----
drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c | 12 +++++++-----
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c | 9 +++++----
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c | 4 ++--
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c | 20 ++++++--------------
38 files changed, 128 insertions(+), 123 deletions(-)
diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
index 7aee5ebb1..f95760c 100644
--- a/drivers/net/wireless/realtek/rtlwifi/core.c
+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
@@ -765,7 +765,8 @@ static int rtl_op_config(struct ieee80211_hw *hw, u32 changed)
mac->bw_40 = false;
mac->bw_80 = false;
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n",
+ channel_type);
break;
}
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
index d12586d..0dfa9ea 100644
--- a/drivers/net/wireless/realtek/rtlwifi/pci.c
+++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
@@ -179,7 +179,8 @@ static void _rtl_pci_update_default_setting(struct ieee80211_hw *hw)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n",
+ rtlpci->const_support_pciaspm);
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/ps.c b/drivers/net/wireless/realtek/rtlwifi/ps.c
index 9a64f9b..18d979a 100644
--- a/drivers/net/wireless/realtek/rtlwifi/ps.c
+++ b/drivers/net/wireless/realtek/rtlwifi/ps.c
@@ -151,7 +151,7 @@ static bool rtl_ps_set_rf_state(struct ieee80211_hw *hw,
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", state_toset);
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c
index 6291256..5360d53 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c
@@ -334,7 +334,7 @@ static void _rtl88e_fill_h2c_command(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", boxnum);
break;
}
isfw_read = _rtl88e_check_fw_read_last_h2c(hw, boxnum);
@@ -405,7 +405,7 @@ static void _rtl88e_fill_h2c_command(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", cmd_len);
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
index 4ab6201..3285117 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
@@ -357,7 +357,7 @@ void rtl88ee_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break; }
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process %x\n", variable);
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -571,7 +571,8 @@ void rtl88ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ e_aci);
break;
}
}
@@ -735,7 +736,7 @@ void rtl88ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break; }
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process %x\n", variable);
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -2352,7 +2353,7 @@ void rtl88ee_set_key(struct ieee80211_hw *hw, u32 key_index,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", enc_algo);
enc_algo = CAM_TKIP;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c
index b504bd0..f05c2c6 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c
@@ -62,7 +62,7 @@ void rtl88ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -100,7 +100,7 @@ void rtl88ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
index 7498a12..fffaa92 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c
@@ -1346,7 +1346,8 @@ static bool _rtl88e_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ currentcmd->cmdid);
break;
}
@@ -2128,7 +2129,7 @@ bool rtl88e_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", iotype);
break;
}
} while (false);
@@ -2166,7 +2167,8 @@ static void rtl88e_phy_set_io(struct ieee80211_hw *hw)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ rtlphy->current_io_type);
break;
}
rtlphy->set_io_inprogress = false;
@@ -2319,7 +2321,7 @@ static bool _rtl88ee_phy_set_rf_power_state(struct ieee80211_hw *hw,
}
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c
index 43fcb25..7d15246 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c
@@ -352,7 +352,7 @@ static void _rtl92c_fill_h2c_command(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", boxnum);
break;
}
@@ -456,7 +456,7 @@ static void _rtl92c_fill_h2c_command(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", cmd_len);
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
index 60ab2ec..27e3d5f 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c
@@ -910,7 +910,8 @@ bool _rtl92c_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ currentcmd->cmdid);
break;
}
@@ -1567,7 +1568,7 @@ bool rtl92c_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", iotype);
break;
}
} while (false);
@@ -1605,7 +1606,8 @@ void rtl92c_phy_set_io(struct ieee80211_hw *hw)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ rtlphy->current_io_type);
break;
}
rtlphy->set_io_inprogress = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
index 2446079..6d308f9 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
@@ -143,7 +143,7 @@ void rtl92ce_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
}
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -367,7 +367,8 @@ void rtl92ce_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n",
+ e_aci);
break;
}
}
@@ -2154,7 +2155,7 @@ void rtl92ce_set_key(struct ieee80211_hw *hw, u32 key_index,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", enc_algo);
enc_algo = CAM_TKIP;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c
index 8283e9b..24e483b 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c
@@ -62,7 +62,7 @@ void rtl92ce_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -97,7 +97,7 @@ void rtl92ce_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
index 1ee5a6a..46d0d94 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c
@@ -300,12 +300,9 @@ bool rtl92c_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
}
break;
case RF90_PATH_C:
- RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
- break;
case RF90_PATH_D:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", rfpath);
break;
default:
break;
@@ -554,7 +551,7 @@ static bool _rtl92ce_phy_set_rf_power_state(struct ieee80211_hw *hw,
}
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
index 8789752..ae8f055 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c
@@ -1560,7 +1560,7 @@ void rtl92cu_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -1931,7 +1931,7 @@ void rtl92cu_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
}
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", variable);
break;
}
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c
index 75a2deb..8514ab65 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c
@@ -62,7 +62,7 @@ void rtl92cu_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -95,7 +95,7 @@ void rtl92cu_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
index c972fa5..4b29764 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c
@@ -277,12 +277,9 @@ bool rtl92cu_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
}
break;
case RF90_PATH_C:
- RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
- break;
case RF90_PATH_D:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", rfpath);
break;
default:
break;
@@ -517,7 +514,7 @@ static bool _rtl92cu_phy_set_rf_power_state(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c
index 62ef820..8de29cc 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c
@@ -435,7 +435,7 @@ static void _rtl92d_fill_h2c_command(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", boxnum);
break;
}
isfw_read = _rtl92d_check_fw_read_last_h2c(hw, boxnum);
@@ -512,7 +512,7 @@ static void _rtl92d_fill_h2c_command(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", cmd_len);
break;
}
bwrite_success = true;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
index 5720551..5369011 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
@@ -166,7 +166,7 @@ void rtl92de_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -361,7 +361,8 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n",
+ e_aci);
break;
}
}
@@ -502,7 +503,7 @@ void rtl92de_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
}
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -2171,7 +2172,7 @@ void rtl92de_set_key(struct ieee80211_hw *hw, u32 key_index,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", enc_algo);
enc_algo = CAM_TKIP;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c
index 76a57ae..811ba57 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c
@@ -71,7 +71,7 @@ void rtl92de_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -106,7 +106,7 @@ void rtl92de_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
index 2a4810d..2a1edfd 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
@@ -836,12 +836,9 @@ bool rtl92d_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
}
break;
case RF90_PATH_C:
- RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
- break;
case RF90_PATH_D:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", rfpath);
break;
}
return true;
@@ -2850,7 +2847,8 @@ static bool _rtl92d_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n",
+ currentcmd->cmdid);
break;
}
break;
@@ -2963,7 +2961,8 @@ static void rtl92d_phy_set_io(struct ieee80211_hw *hw)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n",
+ rtlphy->current_io_type);
break;
}
rtlphy->set_io_inprogress = false;
@@ -2994,7 +2993,7 @@ bool rtl92d_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", iotype);
break;
}
} while (false);
@@ -3182,7 +3181,7 @@ bool rtl92d_phy_set_rf_power_state(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c
index 0708eed..b3f6a9e 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c
@@ -344,7 +344,7 @@ static void _rtl92ee_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", boxnum);
break;
}
@@ -433,7 +433,7 @@ static void _rtl92ee_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", cmd_len);
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
index b07af8d..47bb6d8 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
@@ -340,7 +340,7 @@ void rtl92ee_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
- "switch case not process %x\n", variable);
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -566,7 +566,8 @@ void rtl92ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ e_aci);
break;
}
}
@@ -685,7 +686,7 @@ void rtl92ee_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
- "switch case not process %x\n", variable);
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -2463,7 +2464,7 @@ void rtl92ee_set_key(struct ieee80211_hw *hw, u32 key_index,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG,
- "switch case not process\n");
+ "switch case %#x not processed\n", enc_algo);
enc_algo = CAM_TKIP;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c
index 8388e37..47da05d 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c
@@ -61,7 +61,7 @@ void rtl92ee_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -91,7 +91,7 @@ void rtl92ee_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
index beafc9a..5ad7e75 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c
@@ -1927,7 +1927,8 @@ static bool _rtl92ee_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ currentcmd->cmdid);
break;
}
@@ -3001,7 +3002,7 @@ bool rtl92ee_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", iotype);
break;
}
} while (false);
@@ -3041,7 +3042,8 @@ static void rtl92ee_phy_set_io(struct ieee80211_hw *hw)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ rtlphy->current_io_type);
break;
}
rtlphy->set_io_inprogress = false;
@@ -3187,7 +3189,7 @@ static bool _rtl92ee_phy_set_rf_power_state(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
index ddfa0ae..5bad9c9 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
@@ -79,7 +79,7 @@ void rtl92se_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
}
default: {
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -297,7 +297,8 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n",
+ e_aci);
break;
}
}
@@ -433,7 +434,7 @@ void rtl92se_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break; }
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", variable);
break;
}
@@ -2465,7 +2466,7 @@ void rtl92se_set_key(struct ieee80211_hw *hw, u32 key_index, u8 *p_macaddr,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", enc_algo);
enc_algo = CAM_TKIP;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c
index 44949b5..9849cb9 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c
@@ -68,7 +68,7 @@ void rtl92se_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -104,7 +104,7 @@ void rtl92se_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
index 881821f..4bb7558 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c
@@ -442,7 +442,8 @@ static bool _rtl92s_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n",
+ currentcmd->cmdid);
break;
}
@@ -648,7 +649,7 @@ bool rtl92s_phy_set_rf_power_state(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not processed\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c
index b7c0d38..1186755 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c
@@ -124,7 +124,7 @@ static void _rtl8723e_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", boxnum);
break;
}
@@ -230,7 +230,7 @@ static void _rtl8723e_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", cmd_len);
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
index ba30efc..2bf603b 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
@@ -143,7 +143,7 @@ void rtl8723e_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
}
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -366,7 +366,8 @@ void rtl8723e_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ e_aci);
break;
}
}
@@ -546,7 +547,7 @@ void rtl8723e_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
}
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -2225,7 +2226,7 @@ void rtl8723e_set_key(struct ieee80211_hw *hw, u32 key_index,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", enc_algo);
enc_algo = CAM_TKIP;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c
index 1317335..c7be934 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c
@@ -63,7 +63,7 @@ void rtl8723e_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -105,7 +105,7 @@ void rtl8723e_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
index 601b78e..17b58cb 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c
@@ -1023,7 +1023,8 @@ static bool _rtl8723e_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ currentcmd->cmdid);
break;
}
@@ -1499,7 +1500,7 @@ bool rtl8723e_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", iotype);
break;
}
} while (false);
@@ -1536,7 +1537,8 @@ static void rtl8723e_phy_set_io(struct ieee80211_hw *hw)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ rtlphy->current_io_type);
break;
}
rtlphy->set_io_inprogress = false;
@@ -1682,7 +1684,7 @@ static bool _rtl8723e_phy_set_rf_power_state(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c
index d5da0f3..8c5c27c 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c
@@ -122,7 +122,7 @@ static void _rtl8723be_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", boxnum);
break;
}
@@ -195,7 +195,7 @@ static void _rtl8723be_fill_h2c_command(struct ieee80211_hw *hw, u8 element_id,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", cmd_len);
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
index 82e4476..999c1ac 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
@@ -350,7 +350,7 @@ void rtl8723be_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process %x\n", variable);
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -607,7 +607,8 @@ void rtl8723be_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ e_aci);
break;
}
}
@@ -723,8 +724,7 @@ void rtl8723be_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process %x\n",
- variable);
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -2565,7 +2565,7 @@ void rtl8723be_set_key(struct ieee80211_hw *hw, u32 key_index,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", enc_algo);
enc_algo = CAM_TKIP;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c
index 4196efb..497913e 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c
@@ -58,7 +58,7 @@ void rtl8723be_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -100,7 +100,7 @@ void rtl8723be_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
index 285818d..3cc2232 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c
@@ -837,7 +837,7 @@ bool rtl8723be_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
break;
case RF90_PATH_D:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", rfpath);
break;
}
return true;
@@ -1507,7 +1507,8 @@ static bool _rtl8723be_phy_sw_chnl_step_by_step(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ currentcmd->cmdid);
break;
}
@@ -2515,7 +2516,7 @@ bool rtl8723be_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", iotype);
break;
}
} while (false);
@@ -2553,7 +2554,8 @@ static void rtl8723be_phy_set_io(struct ieee80211_hw *hw)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ rtlphy->current_io_type);
break;
}
rtlphy->set_io_inprogress = false;
@@ -2705,7 +2707,7 @@ static bool _rtl8723be_phy_set_rf_power_state(struct ieee80211_hw *hw,
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c
index a4fc70e..b665446 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c
@@ -392,7 +392,7 @@ static void _rtl8821ae_fill_h2c_command(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", boxnum);
break;
}
@@ -481,7 +481,7 @@ static void _rtl8821ae_fill_h2c_command(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", cmd_len);
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
index 0cddf1a..1281ebe 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
@@ -480,7 +480,7 @@ void rtl8821ae_get_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process %x\n", variable);
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -671,7 +671,8 @@ void rtl8821ae_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ e_aci);
break;
}
}
@@ -800,7 +801,7 @@ void rtl8821ae_set_hw_reg(struct ieee80211_hw *hw, u8 variable, u8 *val)
break; }
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process %x\n", variable);
+ "switch case %#x not processed\n", variable);
break;
}
}
@@ -3934,7 +3935,7 @@ void rtl8821ae_set_key(struct ieee80211_hw *hw, u32 key_index,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", enc_algo);
enc_algo = CAM_TKIP;
break;
}
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c
index ba1946a..fcb3b28 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c
@@ -60,7 +60,7 @@ void rtl8821ae_sw_led_on(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = true;
@@ -133,7 +133,7 @@ void rtl8821ae_sw_led_off(struct ieee80211_hw *hw, struct rtl_led *pled)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
- "switch case not process\n");
+ "switch case %#x not processed\n", pled->ledpin);
break;
}
pled->ledon = false;
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
index a71bfe3..5dad402 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c
@@ -2063,12 +2063,9 @@ bool rtl8812ae_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
}
break;
case RF90_PATH_C:
- RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
- break;
case RF90_PATH_D:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", rfpath);
break;
}
return true;
@@ -2133,16 +2130,10 @@ bool rtl8821ae_phy_config_rf_with_headerfile(struct ieee80211_hw *hw,
break;
case RF90_PATH_B:
- RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
- break;
case RF90_PATH_C:
- RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
- break;
case RF90_PATH_D:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", rfpath);
break;
}
return true;
@@ -4670,7 +4661,7 @@ bool rtl8821ae_phy_set_io_cmd(struct ieee80211_hw *hw, enum io_type iotype)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", iotype);
break;
}
} while (false);
@@ -4714,7 +4705,8 @@ static void rtl8821ae_phy_set_io(struct ieee80211_hw *hw)
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n",
+ rtlphy->current_io_type);
break;
}
rtlphy->set_io_inprogress = false;
@@ -4820,7 +4812,7 @@ static bool _rtl8821ae_phy_set_rf_power_state(struct ieee80211_hw *hw,
break;
default:
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "switch case not process\n");
+ "switch case %#x not processed\n", rfpwr_state);
bresult = false;
break;
}
--
2.10.0.rc2.1.g053435c
^ permalink raw reply related
* Re: rtl8192ce:rtl92ce_get_hw_reg():<0-0> switch case not processed
From: Joe Perches @ 2016-09-23 18:12 UTC (permalink / raw)
To: Larry Finger, Jean Delvare, Chaoming Li; +Cc: linux-wireless
In-Reply-To: <83974845-037d-0cde-00b1-ec7b28eeb15f@lwfinger.net>
On Thu, 2016-09-22 at 10:09 -0500, Larry Finger wrote:
> On 09/22/2016 04:51 AM, Jean Delvare wrote:
> Hello,
>
>
> I bought an Asus PCE-N10 PCIe Wi-Fi N card to install in my wife's
> computer. This morning it stopped working suddenly. Investigating the
> kernel logs, the following error message caught my eye:
>
>
> rtl8192ce:rtl92ce_get_hw_reg():<0-0> switch case not processed
>
>
> It was printed twice, 3.5 hours apart, the second time at the moment
> the network stopped working. I guess this is not supposed to happen.
> What additional information can I provide to help you debug the issue?
> That's the device:
>
>
> 03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01)
> Subsystem: ASUSTeK Computer Inc. Device [1043:84b5]
> Flags: bus master, fast devsel, latency 0, IRQ 17
> I/O ports at e800 [size=256]
> Memory at febfc000 (64-bit, non-prefetchable) [size=16K]
> Capabilities: <access denied>
> Kernel driver in use: rtl8192ce
> Kernel modules: rtl8192ce
>
>
> Kernel version is 4.5.4-1-default x86_64 (openSUSE Tumbleweed.)
>
>
> Reloading the rtl8192ce module and restarting the network service got
> everything back up.
>
>
>
>
> Unfortunately, that message is not as helpful as it might be.
>
>
> Do you build your own kernel, or are you using openSUSE's supplied version? If
> the latter, I will need to think how we might debug the issue. If the former,
> please add the attached patch.
It might be better to add the switch value to all the
RT_TRACE(,,,"switch case not processed\n"); uses in
drivers/net/wireless/realtek/rtlwifi/
I'll send a patch.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox