1 From 3b07c3a6e4adebd0466f5e539f318224db8cfc37 Mon Sep 17 00:00:00 2001
2 From: Christian Marangi <ansuelsmth@gmail.com>
3 Date: Sat, 6 May 2023 15:29:52 +0200
4 Subject: [PATCH] ath10k-ct: fix compilation warning for debug level
6 Rework read_debug_level function as it does exceed the stack limit for
9 /__w/openwrt/openwrt/openwrt/build_dir/target-mips-openwrt-linux-musl_musl/linux-malta_be/ath10k-ct-regular/ath10k-ct-2022-05-13-f808496f/ath10k-5.15/debug.c: In function 'ath10k_read_debug_level':
10 /__w/openwrt/openwrt/openwrt/build_dir/target-mips-openwrt-linux-musl_musl/linux-malta_be/ath10k-ct-regular/ath10k-ct-2022-05-13-f808496f/ath10k-5.15/debug.c:1388:1: error: the frame size of 1440 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
14 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
16 ath10k-5.15/debug.c | 85 +++++++++++++++++++++++++--------------------
17 ath10k-5.17/debug.c | 85 +++++++++++++++++++++++++--------------------
18 2 files changed, 96 insertions(+), 74 deletions(-)
20 diff --git a/ath10k-5.15/debug.c b/ath10k-5.15/debug.c
21 index af84012..d0fa911 100644
22 --- a/ath10k-5.15/debug.c
23 +++ b/ath10k-5.15/debug.c
24 @@ -1344,47 +1344,58 @@ static const struct file_operations fops_simulate_fw_crash = {
25 .llseek = default_llseek,
28 +static const char debug_level_buf[] =
29 + "To change debug level, set value adding up desired flags:\n"
41 + "REGULATORY: 0x800\n"
42 + "TESTMODE: 0x1000\n"
43 + "WMI-PRINT: 0x2000\n"
47 + "SDIO_DUMP: 0x20000\n"
49 + "USB_BULK: 0x80000\n"
52 + "BEACONS: 0x8000000\n"
53 + "NO-FW-DBGLOG:0x10000000\n"
54 + "MAC2: 0x20000000\n"
55 + "INFO-AS-DBG: 0x40000000\n"
57 + "ALL: 0xEFFFFFFF\n";
59 +#define READ_DEBUG_LEVEL_SIZE sizeof(debug_level_buf) + 60
61 static ssize_t ath10k_read_debug_level(struct file *file,
62 char __user *user_buf,
63 size_t count, loff_t *ppos)
67 - "To change debug level, set value adding up desired flags:\n"
79 - "REGULATORY: 0x800\n"
80 - "TESTMODE: 0x1000\n"
81 - "WMI-PRINT: 0x2000\n"
85 - "SDIO_DUMP: 0x20000\n"
87 - "USB_BULK: 0x80000\n"
90 - "BEACONS: 0x8000000\n"
91 - "NO-FW-DBGLOG:0x10000000\n"
92 - "MAC2: 0x20000000\n"
93 - "INFO-AS-DBG: 0x40000000\n"
95 - "ALL: 0xEFFFFFFF\n";
96 - char wbuf[sizeof(buf) + 60];
97 - sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s",
98 - ath10k_debug_mask, buf);
99 - wbuf[sizeof(wbuf) - 1] = 0;
101 - return simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
105 + wbuf = kcalloc(READ_DEBUG_LEVEL_SIZE, sizeof(char), GFP_KERNEL);
109 + sz = snprintf(wbuf, READ_DEBUG_LEVEL_SIZE,
110 + "Current debug level: 0x%x\n\n%s",
111 + ath10k_debug_mask, debug_level_buf);
113 + ret = simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
119 /* Set logging level.
120 diff --git a/ath10k-5.17/debug.c b/ath10k-5.17/debug.c
121 index af84012..d0fa911 100644
122 --- a/ath10k-5.17/debug.c
123 +++ b/ath10k-5.17/debug.c
124 @@ -1344,47 +1344,58 @@ static const struct file_operations fops_simulate_fw_crash = {
125 .llseek = default_llseek,
128 +static const char debug_level_buf[] =
129 + "To change debug level, set value adding up desired flags:\n"
141 + "REGULATORY: 0x800\n"
142 + "TESTMODE: 0x1000\n"
143 + "WMI-PRINT: 0x2000\n"
147 + "SDIO_DUMP: 0x20000\n"
149 + "USB_BULK: 0x80000\n"
152 + "BEACONS: 0x8000000\n"
153 + "NO-FW-DBGLOG:0x10000000\n"
154 + "MAC2: 0x20000000\n"
155 + "INFO-AS-DBG: 0x40000000\n"
157 + "ALL: 0xEFFFFFFF\n";
159 +#define READ_DEBUG_LEVEL_SIZE sizeof(debug_level_buf) + 60
161 static ssize_t ath10k_read_debug_level(struct file *file,
162 char __user *user_buf,
163 size_t count, loff_t *ppos)
167 - "To change debug level, set value adding up desired flags:\n"
179 - "REGULATORY: 0x800\n"
180 - "TESTMODE: 0x1000\n"
181 - "WMI-PRINT: 0x2000\n"
185 - "SDIO_DUMP: 0x20000\n"
187 - "USB_BULK: 0x80000\n"
190 - "BEACONS: 0x8000000\n"
191 - "NO-FW-DBGLOG:0x10000000\n"
192 - "MAC2: 0x20000000\n"
193 - "INFO-AS-DBG: 0x40000000\n"
195 - "ALL: 0xEFFFFFFF\n";
196 - char wbuf[sizeof(buf) + 60];
197 - sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s",
198 - ath10k_debug_mask, buf);
199 - wbuf[sizeof(wbuf) - 1] = 0;
201 - return simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
205 + wbuf = kcalloc(READ_DEBUG_LEVEL_SIZE, sizeof(char), GFP_KERNEL);
209 + sz = snprintf(wbuf, READ_DEBUG_LEVEL_SIZE,
210 + "Current debug level: 0x%x\n\n%s",
211 + ath10k_debug_mask, debug_level_buf);
213 + ret = simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
219 /* Set logging level.