From: Robert Marko Date: Mon, 29 Nov 2021 11:46:54 +0000 (+0100) Subject: ath10k-ct: Fix spectral scan NULL pointer X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=040c02497c56c17d8cf04f9b8b535967d7c3b10e;p=openwrt%2Fstaging%2Faparcar.git ath10k-ct: Fix spectral scan NULL pointer If spectral scan support is enabled then ath10k-ct will cause a NULL pointer due to relay_open() being called with a const callback struct which is only supported in kernel 5.11 and later. So, simply check the kernel version and if 5.11 and newer use the const callback struct, otherwise use the regular struct. Fixes: 553a3ac ("ath10k-ct: use 5.15 version") Signed-off-by: Robert Marko --- diff --git a/package/kernel/ath10k-ct/patches/300-ath10k-ct-Fix-spectral-scan-NULL-pointer.patch b/package/kernel/ath10k-ct/patches/300-ath10k-ct-Fix-spectral-scan-NULL-pointer.patch new file mode 100644 index 0000000000..a3822a7e49 --- /dev/null +++ b/package/kernel/ath10k-ct/patches/300-ath10k-ct-Fix-spectral-scan-NULL-pointer.patch @@ -0,0 +1,32 @@ +From 0d2e335d780bda1432a9ba719c8200f796d27854 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Mon, 29 Nov 2021 12:27:12 +0100 +Subject: [PATCH] ath10k-ct: Fix spectral scan NULL pointer + +If spectral scan support is enabled then ath10k-ct will cause a NULL +pointer due to relay_open() being called with a const callback struct +which is only supported in kernel 5.11 and later. + +So, simply check the kernel version and if 5.11 and newer use the const +callback struct, otherwise use the regular struct. + +Fixes: 553a3ac ("ath10k-ct: use 5.15 version") +Signed-off-by: Robert Marko +--- + ath10k-5.15/spectral.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/ath10k-5.15/spectral.c ++++ b/ath10k-5.15/spectral.c +@@ -497,7 +497,11 @@ static int remove_buf_file_handler(struc + return 0; + } + ++#if LINUX_VERSION_IS_GEQ(5,11,0) + static const struct rchan_callbacks rfs_spec_scan_cb = { ++#else ++static struct rchan_callbacks rfs_spec_scan_cb = { ++#endif + .create_buf_file = create_buf_file_handler, + .remove_buf_file = remove_buf_file_handler, + };