diff --git a/meta/recipes-kernel/dtc/dtc/0001-Fix-discarded-const-qualifiers.patch b/meta/recipes-kernel/dtc/dtc/0001-Fix-discarded-const-qualifiers.patch
deleted file mode 100644
index 053a94f0bf..0000000000
--- a/meta/recipes-kernel/dtc/dtc/0001-Fix-discarded-const-qualifiers.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From c58beee7bec0774f12202511c97beb741ff2b534 Mon Sep 17 00:00:00 2001
-From: Stephen Gallagher <sgallagh@redhat.com>
-Date: Tue, 6 Jan 2026 14:19:30 -0500
-Subject: [PATCH] Fix discarded const qualifiers
-
-It's unsafe to implicitly discard the const qualifier on a pointer. In
-overlay_fixup_phandle(), this was probably just an oversight, and making
-the "sep" variable a const char * is sufficient to fix it.
-
-In create_node(), however, the "p" variable is directly modifying the
-buffer pointed to by "const char* node_name". To fix this, we need to
-actually make a duplicate of the buffer and operate on that instead.
-
-This introduces a malloc()/free()  and an unbounded strdup() into the
-operation, but fdtput isn't a long-running service and the node_name
-argument comes directly from argv, so this shouldn't introduce a
-significant performance impact.
-
-Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
-Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/libfdt/fdt_overlay.c?h=main&id=9a1c801a1a3c102bf95c5339c9e985b26b823a21]
----
- fdtput.c             | 8 +++++---
- libfdt/fdt_overlay.c | 3 ++-
- meson.build          | 1 +
- 3 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/fdtput.c b/fdtput.c
-index c2fecf4..8deec7e 100644
---- a/fdtput.c
-+++ b/fdtput.c
-@@ -230,19 +230,21 @@ static int create_paths(char **blob, const char *in_path)
- static int create_node(char **blob, const char *node_name)
- {
- 	int node = 0;
--	char *p;
-+	const char *p;
-+	char *path = NULL;
- 
- 	p = strrchr(node_name, '/');
- 	if (!p) {
- 		report_error(node_name, -1, -FDT_ERR_BADPATH);
- 		return -1;
- 	}
--	*p = '\0';
- 
- 	*blob = realloc_node(*blob, p + 1);
- 
- 	if (p > node_name) {
--		node = fdt_path_offset(*blob, node_name);
-+		path = xstrndup(node_name, (size_t)(p - node_name));
-+		node = fdt_path_offset(*blob, path);
-+		free(path);
- 		if (node < 0) {
- 			report_error(node_name, -1, node);
- 			return -1;
-diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c
-index 28b667f..5f8aa62 100644
---- a/libfdt/fdt_overlay.c
-+++ b/libfdt/fdt_overlay.c
-@@ -409,7 +409,8 @@ static int overlay_fixup_phandle(void *fdt, void *fdto, int symbols_off,
- 		const char *fixup_str = value;
- 		uint32_t path_len, name_len;
- 		uint32_t fixup_len;
--		char *sep, *endptr;
-+		const char *sep;
-+		char *endptr;
- 		int poffset, ret;
- 
- 		fixup_end = memchr(value, '\0', len);
-diff --git a/meson.build b/meson.build
-index 310699f..2966b06 100644
---- a/meson.build
-+++ b/meson.build
-@@ -18,6 +18,7 @@ add_project_arguments(
-     '-Wshadow',
-     '-Wsuggest-attribute=format',
-     '-Wwrite-strings',
-+    '-Wdiscarded-qualifiers',
-   ]),
-   language: 'c'
- )
diff --git a/meta/recipes-kernel/dtc/dtc_1.7.2.bb b/meta/recipes-kernel/dtc/dtc_1.8.1.bb
similarity index 85%
rename from meta/recipes-kernel/dtc/dtc_1.7.2.bb
rename to meta/recipes-kernel/dtc/dtc_1.8.1.bb
index b8b79542c5..5c3b1d7a6d 100644
--- a/meta/recipes-kernel/dtc/dtc_1.7.2.bb
+++ b/meta/recipes-kernel/dtc/dtc_1.8.1.bb
@@ -6,13 +6,13 @@ LICENSE = "GPL-2.0-only | BSD-2-Clause"
 
 LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927 \
-                    file://README.license;md5=a1eb22e37f09df5b5511b8a278992d0e"
+                    file://README.license;md5=a5696bd07fcc7285cbbacc42c2132248 \
+                    "
 
 SRC_URI = " \
     git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=main;protocol=https \
-    file://0001-Fix-discarded-const-qualifiers.patch \
 "
-SRCREV = "2d10aa2afe35527728db30b35ec491ecb6959e5c"
+SRCREV = "8f48565e5cfedc74d3f7512f1e0188e9d85dc1de"
 
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
