From e3e12f52b214121840b44c91de5b3e5af5d3eb84 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 06 Nov 2023 03:04:41 +0000 Subject: [PATCH] rk3568 rt init --- kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_escan.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_escan.c b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_escan.c index 01a9e02..6b6b389 100644 --- a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_escan.c +++ b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_escan.c @@ -886,8 +886,7 @@ u8 *scan_params = NULL, *params = NULL; s32 params_size; u32 n_channels = 0; - wl_uint32_list_t *list; - u8 valid_chan_list[sizeof(u32)*(MAX_CTRL_CHANSPECS + 1)]; + wl_uint32_list_t *list = NULL; mutex_lock(&escan->usr_sync); if (escan->escan_state == ESCAN_STATE_DOWN) { @@ -920,8 +919,12 @@ } /* if scan request is not empty parse scan request paramters */ - memset(valid_chan_list, 0, sizeof(valid_chan_list)); - list = (wl_uint32_list_t *)(void *) valid_chan_list; + list = kzalloc(sizeof(u32)*(MAX_CTRL_CHANSPECS + 1), GFP_KERNEL); + if (list == NULL) { + ESCAN_ERROR(dev->name, "kzalloc failed\n"); + err = -ENOMEM; + goto exit; + } if (scan_info->channels.count) { memcpy(list, &scan_info->channels, sizeof(wl_channel_list_t)); @@ -984,6 +987,8 @@ } kfree(params); exit: + if (list) + kfree(list); if (unlikely(err)) { wl_escan_reset(escan); } -- Gitblit v1.6.2