From 0d8657dd3056063fb115946b10157477b5c70451 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 20 Nov 2023 09:09:45 +0000
Subject: [PATCH] enable lvds 1280x800
---
kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgvendor.c | 41 ++++++++++++++++++++++++++++++++---------
1 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgvendor.c b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgvendor.c
index ab7e073..480dc1f 100644
--- a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgvendor.c
+++ b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/wl_cfgvendor.c
@@ -6860,11 +6860,13 @@
cca_congest_ext_channel_req_v2_t *per_chspec_stats = NULL;
uint per_chspec_stats_size = 0;
cca_congest_ext_channel_req_v3_t *all_chan_results;
- cca_congest_ext_channel_req_v3_t all_chan_req;
+ cca_congest_ext_channel_req_v3_t *all_chan_req = NULL;
+ uint all_chan_req_size = sizeof(cca_congest_ext_channel_req_v3_t);
#else
/* cca_get_stats_ext iovar for Wifi channel statics */
struct cca_congest_ext_channel_req_v2 *cca_v2_results;
- struct cca_congest_ext_channel_req_v2 cca_v2_req;
+ struct cca_congest_ext_channel_req_v2 *cca_v2_req = NULL;
+ uint cca_v2_req_size = sizeof(cca_congest_ext_channel_req_v2_t);
#endif /* CHAN_STATS_SUPPORT */
const wl_cnt_wlc_t *wlc_cnt;
scb_val_t scbval;
@@ -7025,10 +7027,16 @@
#ifdef CHAN_STATS_SUPPORT
/* Option to get all channel statistics */
- all_chan_req.num_of_entries = 0;
- all_chan_req.ver = WL_CCA_EXT_REQ_VER_V3;
+ all_chan_req = (void *)MALLOCZ(cfg->osh, all_chan_req_size);
+ if (all_chan_req == NULL) {
+ err = BCME_NOMEM;
+ WL_ERR(("all_chan_req alloc failed\n"));
+ goto exit;
+ }
+ all_chan_req->num_of_entries = 0;
+ all_chan_req->ver = WL_CCA_EXT_REQ_VER_V3;
err = wldev_iovar_getbuf(bcmcfg_to_prmry_ndev(cfg), "cca_get_stats_ext",
- &all_chan_req, sizeof(all_chan_req), iovar_buf, WLC_IOCTL_MAXLEN, NULL);
+ all_chan_req, all_chan_req_size, iovar_buf, WLC_IOCTL_MAXLEN, NULL);
if (err != BCME_OK && err != BCME_UNSUPPORTED) {
WL_ERR(("cca_get_stats_ext iovar err = %d\n", err));
@@ -7089,12 +7097,18 @@
}
}
#else
- cca_v2_req.ver = WL_CCA_EXT_REQ_VER_V2;
- cca_v2_req.chanspec =
+ cca_v2_req = (void *)MALLOCZ(cfg->osh, cca_v2_req_size);
+ if (cca_v2_req == NULL) {
+ err = BCME_NOMEM;
+ WL_ERR(("cca_v2_req alloc failed\n"));
+ goto exit;
+ }
+ cca_v2_req->ver = WL_CCA_EXT_REQ_VER_V2;
+ cca_v2_req->chanspec =
wl_chspec_host_to_driver(wf_chspec_primary20_chspec(cur_chanspec));
- err = wldev_iovar_getbuf(bcmcfg_to_prmry_ndev(cfg), "cca_get_stats_ext", &cca_v2_req,
- sizeof(cca_v2_req), iovar_buf, WLC_IOCTL_MAXLEN, NULL);
+ err = wldev_iovar_getbuf(bcmcfg_to_prmry_ndev(cfg), "cca_get_stats_ext", cca_v2_req,
+ cca_v2_req_size, iovar_buf, WLC_IOCTL_MAXLEN, NULL);
if (err != BCME_OK && err != BCME_UNSUPPORTED) {
WL_ERR(("cca_get_stats_ext iovar err = %d\n", err));
@@ -7300,6 +7314,15 @@
WL_ERR(("Vendor Command reply failed ret:%d \n", err));
exit:
+#ifdef CHAN_STATS_SUPPORT
+ if (all_chan_req) {
+ MFREE(cfg->osh, all_chan_req, all_chan_req_size);
+ }
+#else
+ if (cca_v2_req) {
+ MFREE(cfg->osh, cca_v2_req, cca_v2_req_size);
+ }
+#endif /* CHAN_STATS_SUPPORT */
if (outdata) {
MFREE(cfg->osh, outdata, WLC_IOCTL_MAXLEN);
}
--
Gitblit v1.6.2