wifi: rtlwifi: set initial values for unexpected cases of USB endpoint priority
authorPing-Ke Shih <pkshih@realtek.com>
Fri, 16 Feb 2024 03:39:49 +0000 (11:39 +0800)
committerKalle Valo <kvalo@kernel.org>
Wed, 21 Feb 2024 18:55:51 +0000 (20:55 +0200)
Map USB endpoints to hardware and AC queues according to number of USB
endpoints. However, original only give a warning for unexpected cases but
initial values are not given. Then, smatch warns:

drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c:642
  _rtl92cu_init_chipn_two_out_ep_priority() error: uninitialized symbol 'valuelow'.
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c:644
  _rtl92cu_init_chipn_two_out_ep_priority() error: uninitialized symbol 'valuehi'.
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c:649
  _rtl92cu_init_chipn_two_out_ep_priority() error: uninitialized symbol 'valuehi'.
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c:650
  _rtl92cu_init_chipn_two_out_ep_priority() error: uninitialized symbol 'valuelow'.

The regular selection is high and low queues, so move default (unexpected)
case along with that.

Compile tested only.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240216033949.34765-1-pkshih@realtek.com
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c

index 5ec0eb8773a558e1232e7b35e2da6465bfd38009..4217c9a08d01a679432f9cd784ee95e8a099fb6e 100644 (file)
@@ -622,6 +622,9 @@ static void _rtl92cu_init_chipn_two_out_ep_priority(struct ieee80211_hw *hw,
        u16 valuelow;
 
        switch (queue_sel) {
+       default:
+               WARN_ON(1);
+               fallthrough;
        case (TX_SELE_HQ | TX_SELE_LQ):
                valuehi = QUEUE_HIGH;
                valuelow = QUEUE_LOW;
@@ -634,9 +637,6 @@ static void _rtl92cu_init_chipn_two_out_ep_priority(struct ieee80211_hw *hw,
                valuehi = QUEUE_HIGH;
                valuelow = QUEUE_NORMAL;
                break;
-       default:
-               WARN_ON(1);
-               break;
        }
        if (!wmm_enable) {
                beq = valuelow;