diff mbox series

ofono: fix the build when toolchain has old linux headers

Message ID 20241219135423.2552265-1-ross.burton@arm.com
State Accepted, archived
Commit 0313ea48a75480c2bcc6d35035f74a4dcf22f263
Headers show
Series ofono: fix the build when toolchain has old linux headers | expand

Commit Message

Ross Burton Dec. 19, 2024, 1:54 p.m. UTC
Whilst our default toolchain has modern kernel headers (6.12, at time of
writing), some external toolchains may use old kernel headers.

As ofono's rmnet module uses kernel defines which were added in 5.14,
add some compatibility defines in case they are not set.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../ofono/ofono/rmnet.patch                   | 45 +++++++++++++++++++
 meta/recipes-connectivity/ofono/ofono_2.14.bb |  1 +
 2 files changed, 46 insertions(+)
 create mode 100644 meta/recipes-connectivity/ofono/ofono/rmnet.patch
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/ofono/ofono/rmnet.patch b/meta/recipes-connectivity/ofono/ofono/rmnet.patch
new file mode 100644
index 00000000000..11dfd5db183
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono/rmnet.patch
@@ -0,0 +1,45 @@ 
+From git@z Thu Jan  1 00:00:00 1970
+Subject: [PATCH] rmnet: Handle toolchains with old kernel headers
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 19 Dec 2024 13:47:15 +0000
+Message-Id: <e2b6a94dd9a3789e31dafadfc70c53b565d1db04.camel@linuxfoundation.org>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 7bit
+
+The RMNET_FLAGS_*GRESS_MAP_CKSUMV5 defines were added to the kernel in
+5.14[1] and some toolchains use older headers, so add fallback defines
+in case they are needed.
+
+[1] linux b6e5d27e32ef6089d316ce7e1ecaf595584d4b84
+
+Upstream-Status: Submitted [https://lore.kernel.org/ofono/e2b6a94dd9a3789e31dafadfc70c53b565d1db04.camel@linuxfoundation.org/T/#u]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ src/rmnet.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/rmnet.c b/src/rmnet.c
+index 42b03249..9a7f52fb 100644
+--- a/src/rmnet.c
++++ b/src/rmnet.c
+@@ -27,6 +27,16 @@
+ #define MAX_MUX_IDS 254U
+ #define DEFAULT_MTU 1400U
+ 
++/*
++ * These were added in 5.14 so define them here if the toolchain's kernel headers are old.
++ */
++#ifndef RMNET_FLAGS_INGRESS_MAP_CKSUMV5
++#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4)
++#endif
++#ifndef RMNET_FLAGS_EGRESS_MAP_CKSUMV5
++#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5)
++#endif
++
+ struct rmnet_request {
+ 	uint32_t parent_ifindex;
+ 	rmnet_new_interfaces_func_t new_cb;
+-- 
+2.43.0
+
diff --git a/meta/recipes-connectivity/ofono/ofono_2.14.bb b/meta/recipes-connectivity/ofono/ofono_2.14.bb
index 0a695c978c0..5d11d6cb45e 100644
--- a/meta/recipes-connectivity/ofono/ofono_2.14.bb
+++ b/meta/recipes-connectivity/ofono/ofono_2.14.bb
@@ -9,6 +9,7 @@  DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell"
 
 SRC_URI = "\
     ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
+    file://rmnet.patch \
     file://ofono \
 "
 SRC_URI[sha256sum] = "983cbfd5e1e1a410ba7ad2db7f50fadc91e50b29f1ede40cdc73f941da7ba95f"