]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: brcmsmac: Use kvmemdup to simplify the code
authorJinjie Ruan <ruanjinjie@huawei.com>
Wed, 21 Aug 2024 07:02:57 +0000 (15:02 +0800)
committerKalle Valo <kvalo@kernel.org>
Tue, 3 Sep 2024 18:29:48 +0000 (21:29 +0300)
Use kvmemdup instead of kvmalloc() + memcpy() to simplify the code.

No functional change.

Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20240821070257.2298559-1-ruanjinjie@huawei.com
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c

index d86f28b8bc60bfb323aedfd4958336ad001d138a..5b1d35601bbd14ce3b67cf1ca165a5d34f12f52d 100644 (file)
@@ -1611,10 +1611,9 @@ int brcms_ucode_init_buf(struct brcms_info *wl, void **pbuf, u32 idx)
                        if (le32_to_cpu(hdr->idx) == idx) {
                                pdata = wl->fw.fw_bin[i]->data +
                                        le32_to_cpu(hdr->offset);
-                               *pbuf = kvmalloc(len, GFP_KERNEL);
+                               *pbuf = kvmemdup(pdata, len, GFP_KERNEL);
                                if (*pbuf == NULL)
-                                       goto fail;
-                               memcpy(*pbuf, pdata, len);
+                                       return -ENOMEM;
                                return 0;
                        }
                }
@@ -1622,7 +1621,6 @@ int brcms_ucode_init_buf(struct brcms_info *wl, void **pbuf, u32 idx)
        brcms_err(wl->wlc->hw->d11core,
                  "ERROR: ucode buf tag:%d can not be found!\n", idx);
        *pbuf = NULL;
-fail:
        return -ENODATA;
 }