wifi: ath12k: Fix uninitialized use of ret in ath12k_mac_allocate()
authorNathan Chancellor <nathan@kernel.org>
Mon, 5 Feb 2024 19:49:53 +0000 (12:49 -0700)
committerKalle Valo <quic_kvalo@quicinc.com>
Wed, 7 Feb 2024 15:08:07 +0000 (17:08 +0200)
Clang warns (or errors with CONFIG_WERROR=y):

  drivers/net/wireless/ath/ath12k/mac.c:8060:9: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized]
   8060 |         return ret;
        |                ^~~
  drivers/net/wireless/ath/ath12k/mac.c:8022:9: note: initialize the variable 'ret' to silence this warning
   8022 |         int ret, i, j;
        |                ^
        |                 = 0
  1 error generated.

Commit 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211
hw") added a completely uninitialized use of ret. Prior to that change,
-ENOMEM was returned to the callers of ath12k_mac_allocate() whenever
ath12k_mac_hw_allocate() failed. Assign that value to ret to make sure
it is always initialized when used and clear up the warning.

Closes: https://github.com/ClangBuiltLinux/linux/issues/1989i
Fixes: 6db6e70a17f6 ("wifi: ath12k: Introduce the container for mac80211 hw")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240205-ath12k-mac-wuninitialized-v1-1-3fda7b17357f@kernel.org
drivers/net/wireless/ath/ath12k/mac.c

index a3b002d..a737a09 100644 (file)
@@ -8302,6 +8302,7 @@ int ath12k_mac_allocate(struct ath12k_base *ab)
                if (!ah) {
                        ath12k_warn(ab, "failed to allocate mac80211 hw device for hw_idx %d\n",
                                    i);
+                       ret = -ENOMEM;
                        goto err;
                }