summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShiji Yang2026-06-09 15:42:36 +0000
committerHauke Mehrtens2026-06-16 23:55:50 +0000
commit3f59bc0e1410c6131bb43113952c4bc06781e95d (patch)
treeafa79117318b8f9a7d2f40a9c63dd188feb8d26d
parent80d9abb3f7a498d31e133cad4c2e9b8da4a9494c (diff)
downloadopenwrt-3f59bc0e1410c6131bb43113952c4bc06781e95d.tar.gz
kernel: bump 6.12 to 6.12.93
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.93 Manually rebased patch: - bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch[1] All other patches are automatically refreshed. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.93&id=acd55ea40d03e06f20a9986363019e0e5173990e Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/23730 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> (cherry picked from commit 312116bda99988dc62d5b656b1fbdbbbadc2a2fa) Link: https://github.com/openwrt/openwrt/pull/23823 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch56
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch6
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch8
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch4
-rw-r--r--target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch2
-rw-r--r--target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch4
-rw-r--r--target/linux/generic/kernel-6.124
-rw-r--r--target/linux/generic/pending-6.12/655-increase_skb_pad.patch2
-rw-r--r--target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch22
-rw-r--r--target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch4
-rw-r--r--target/linux/rockchip/patches-6.12/035-02-v6.13-gpio-rockchip-change-the-GPIO-version-judgment-logic.patch8
-rw-r--r--target/linux/rockchip/patches-6.12/035-03-v6.13-gpio-rockchip-support-new-version-GPIO.patch2
-rw-r--r--target/linux/uml/patches-6.12/101-mconsole-exec.patch6
-rw-r--r--target/linux/uml/patches-6.12/102-pseudo-random-mac.patch2
21 files changed, 49 insertions, 103 deletions
diff --git a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
index ae78d711ac..e26aaebab3 100644
--- a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
@@ -295,7 +295,7 @@ SVN-Revision: 35130
&sin->sin6_addr);
sin->sin6_scope_id = 0;
}
-@@ -853,12 +853,12 @@ int ip6_datagram_send_ctl(struct net *ne
+@@ -891,12 +891,12 @@ int ip6_datagram_send_ctl(struct net *ne
}
if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@@ -312,7 +312,7 @@ SVN-Revision: 35130
case IPV6_2292HOPOPTS:
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
-@@ -1004,7 +1004,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
+@@ -1008,7 +1008,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
goto drop;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
index 32e5eab786..024532fb68 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
@@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
-@@ -1132,7 +1132,9 @@ static int usbhid_start(struct hid_devic
+@@ -1133,7 +1133,9 @@ static int usbhid_start(struct hid_devic
*/
switch (hid->collection->usage) {
case HID_GD_MOUSE:
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
interval = hid_mousepoll_interval;
break;
case HID_GD_JOYSTICK:
-@@ -1144,6 +1146,7 @@ static int usbhid_start(struct hid_devic
+@@ -1145,6 +1147,7 @@ static int usbhid_start(struct hid_devic
interval = hid_kbpoll_interval;
break;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
index ca24d156ad..2ffdc269b7 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
@@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
-@@ -1951,6 +1951,16 @@ reset:
+@@ -1949,6 +1949,16 @@ reset:
return ret;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch b/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
index 2d83ebaab1..b9bc4f09ed 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
@@ -179,7 +179,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
if (job->perfmon)
v3d_perfmon_put(job->perfmon);
-@@ -199,6 +243,7 @@ v3d_job_init(struct v3d_dev *v3d, struct
+@@ -217,6 +261,7 @@ v3d_job_init(struct v3d_dev *v3d, struct
goto fail_deps;
}
@@ -187,7 +187,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
kref_init(&job->refcount);
return 0;
-@@ -1398,3 +1443,14 @@ fail:
+@@ -1414,3 +1459,14 @@ fail:
return ret;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
index 29f8dd1188..7f8a6cd78d 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0132-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
@@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
-@@ -1484,6 +1487,9 @@
+@@ -1485,6 +1488,9 @@
#define USB_VENDOR_ID_XIAOMI 0x2717
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
@@ -52,7 +52,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
-@@ -217,6 +218,7 @@ static const struct hid_device_id hid_qu
+@@ -218,6 +219,7 @@ static const struct hid_device_id hid_qu
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET },
diff --git a/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch b/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch
index 4fc8d93545..527494fce7 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch
@@ -48,7 +48,7 @@ Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
#ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE
unsigned int pageblock_order __read_mostly;
#endif
-@@ -2292,12 +2313,13 @@ __rmqueue(struct zone *zone, unsigned in
+@@ -2293,12 +2314,13 @@ __rmqueue(struct zone *zone, unsigned in
if (IS_ENABLED(CONFIG_CMA)) {
/*
* Balance movable allocations between regular and CMA areas by
diff --git a/target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch b/target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch
index 1728e95d95..c497d134df 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0755-drm-v3d-CPU-job-submissions-shouldn-t-affect-V3D-GPU.patch
@@ -22,52 +22,7 @@ Reviewed-by: Maíra Canal <mcanal@igalia.com>
--- a/drivers/gpu/drm/v3d/v3d_submit.c
+++ b/drivers/gpu/drm/v3d/v3d_submit.c
-@@ -125,9 +125,9 @@ v3d_lookup_bos(struct drm_device *dev,
- }
-
- static void
--v3d_job_free(struct kref *ref)
-+v3d_job_free_common(struct v3d_job *job,
-+ bool is_gpu_job)
- {
-- struct v3d_job *job = container_of(ref, struct v3d_job, refcount);
- struct v3d_dev *v3d = job->v3d;
- int i;
-
-@@ -140,7 +140,8 @@ v3d_job_free(struct kref *ref)
- dma_fence_put(job->irq_fence);
- dma_fence_put(job->done_fence);
-
-- v3d_clock_up_put(v3d);
-+ if (is_gpu_job)
-+ v3d_clock_up_put(v3d);
-
- if (job->perfmon)
- v3d_perfmon_put(job->perfmon);
-@@ -149,6 +150,22 @@ v3d_job_free(struct kref *ref)
- }
-
- static void
-+v3d_job_free(struct kref *ref)
-+{
-+ struct v3d_job *job = container_of(ref, struct v3d_job, refcount);
-+
-+ v3d_job_free_common(job, true);
-+}
-+
-+static void
-+v3d_cpu_job_free(struct kref *ref)
-+{
-+ struct v3d_job *job = container_of(ref, struct v3d_job, refcount);
-+
-+ v3d_job_free_common(job, false);
-+}
-+
-+static void
- v3d_render_job_free(struct kref *ref)
- {
- struct v3d_render_job *job = container_of(ref, struct v3d_render_job,
-@@ -242,8 +259,9 @@ v3d_job_init(struct v3d_dev *v3d, struct
+@@ -260,8 +260,9 @@ v3d_job_init(struct v3d_dev *v3d, struct
if (ret && ret != -ENOENT)
goto fail_deps;
}
@@ -78,12 +33,3 @@ Reviewed-by: Maíra Canal <mcanal@igalia.com>
kref_init(&job->refcount);
return 0;
-@@ -1355,7 +1373,7 @@ v3d_submit_cpu_ioctl(struct drm_device *
- trace_v3d_submit_cpu_ioctl(&v3d->drm, cpu_job->job_type);
-
- ret = v3d_job_init(v3d, file_priv, &cpu_job->base,
-- v3d_job_free, 0, &se, V3D_CPU);
-+ v3d_cpu_job_free, 0, &se, V3D_CPU);
- if (ret) {
- v3d_job_deallocate((void *)&cpu_job);
- goto fail;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch b/target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch
index c3a564e583..b346b6575c 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch
@@ -120,7 +120,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
+}
--- a/drivers/gpu/drm/v3d/v3d_sched.c
+++ b/drivers/gpu/drm/v3d/v3d_sched.c
-@@ -120,11 +120,19 @@ v3d_cpu_job_free(struct drm_sched_job *s
+@@ -106,11 +106,19 @@ v3d_performance_query_info_free(struct v
static void
v3d_switch_perfmon(struct v3d_dev *v3d, struct v3d_job *job)
{
@@ -145,7 +145,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
static void
--- a/drivers/gpu/drm/v3d/v3d_submit.c
+++ b/drivers/gpu/drm/v3d/v3d_submit.c
-@@ -1049,6 +1049,11 @@ v3d_submit_cl_ioctl(struct drm_device *d
+@@ -1050,6 +1050,11 @@ v3d_submit_cl_ioctl(struct drm_device *d
goto fail;
if (args->perfmon_id) {
@@ -157,7 +157,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
render->base.perfmon = v3d_perfmon_find(v3d_priv,
args->perfmon_id);
-@@ -1264,6 +1269,11 @@ v3d_submit_csd_ioctl(struct drm_device *
+@@ -1265,6 +1270,11 @@ v3d_submit_csd_ioctl(struct drm_device *
goto fail;
if (args->perfmon_id) {
diff --git a/target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch b/target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch
index 9cb1524aa0..620f208543 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch
@@ -35,7 +35,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20250113154741.67520-2-mcana
--- a/drivers/gpu/drm/v3d/v3d_sched.c
+++ b/drivers/gpu/drm/v3d/v3d_sched.c
-@@ -677,8 +677,6 @@ v3d_cpu_job_run(struct drm_sched_job *sc
+@@ -663,8 +663,6 @@ v3d_cpu_job_run(struct drm_sched_job *sc
struct v3d_cpu_job *job = to_cpu_job(sched_job);
struct v3d_dev *v3d = job->base.v3d;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch b/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch
index 069cb5628e..7940e20a5d 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0859-drm-v3d-Set-job-pointer-to-NULL-when-the-job-s-fence.patch
@@ -33,7 +33,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
--- a/drivers/gpu/drm/v3d/v3d_sched.c
+++ b/drivers/gpu/drm/v3d/v3d_sched.c
-@@ -230,8 +230,12 @@ static struct dma_fence *v3d_bin_job_run
+@@ -216,8 +216,12 @@ static struct dma_fence *v3d_bin_job_run
struct dma_fence *fence;
unsigned long irqflags;
@@ -47,7 +47,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
/* Lock required around bin_job update vs
* v3d_overflow_mem_work().
-@@ -285,8 +289,10 @@ static struct dma_fence *v3d_render_job_
+@@ -271,8 +275,10 @@ static struct dma_fence *v3d_render_job_
struct drm_device *dev = &v3d->drm;
struct dma_fence *fence;
@@ -59,7 +59,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
v3d->render_job = job;
-@@ -331,8 +337,10 @@ v3d_tfu_job_run(struct drm_sched_job *sc
+@@ -317,8 +323,10 @@ v3d_tfu_job_run(struct drm_sched_job *sc
struct drm_device *dev = &v3d->drm;
struct dma_fence *fence;
@@ -71,7 +71,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
v3d->tfu_job = job;
-@@ -377,8 +385,10 @@ v3d_csd_job_run(struct drm_sched_job *sc
+@@ -363,8 +371,10 @@ v3d_csd_job_run(struct drm_sched_job *sc
struct dma_fence *fence;
int i, csd_cfg0_reg;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch b/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
index 6a57329bfa..6ea273ac09 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0860-drm-v3d-Associate-a-V3D-tech-revision-to-all-support.patch
@@ -444,7 +444,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
}
--- a/drivers/gpu/drm/v3d/v3d_sched.c
+++ b/drivers/gpu/drm/v3d/v3d_sched.c
-@@ -361,11 +361,11 @@ v3d_tfu_job_run(struct drm_sched_job *sc
+@@ -347,11 +347,11 @@ v3d_tfu_job_run(struct drm_sched_job *sc
V3D_WRITE(V3D_TFU_ICA(v3d->ver), job->args.ica);
V3D_WRITE(V3D_TFU_IUA(v3d->ver), job->args.iua);
V3D_WRITE(V3D_TFU_IOA(v3d->ver), job->args.ioa);
@@ -458,7 +458,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
V3D_WRITE(V3D_TFU_COEF1(v3d->ver), job->args.coef[1]);
V3D_WRITE(V3D_TFU_COEF2(v3d->ver), job->args.coef[2]);
V3D_WRITE(V3D_TFU_COEF3(v3d->ver), job->args.coef[3]);
-@@ -416,7 +416,7 @@ v3d_csd_job_run(struct drm_sched_job *sc
+@@ -402,7 +402,7 @@ v3d_csd_job_run(struct drm_sched_job *sc
*
* XXX: Set the CFG7 register
*/
diff --git a/target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch b/target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch
index 1081663db1..f54f471ab6 100644
--- a/target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch
+++ b/target/linux/generic/backport-6.12/720-09-v6.14-net-phy-Constify-struct-mdio_device_id.patch
@@ -502,7 +502,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ }
--- a/drivers/net/phy/mscc/mscc_main.c
+++ b/drivers/net/phy/mscc/mscc_main.c
-@@ -2710,7 +2710,7 @@ static struct phy_driver vsc85xx_driver[
+@@ -2695,7 +2695,7 @@ static struct phy_driver vsc85xx_driver[
module_phy_driver(vsc85xx_driver);
diff --git a/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
index 4cdc71e443..99ced70bbe 100644
--- a/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
+++ b/target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch
@@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -3274,6 +3274,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -3276,6 +3276,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
@@ -63,7 +63,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
-@@ -3439,16 +3443,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -3441,16 +3445,6 @@ static inline struct sk_buff *dev_alloc_
}
diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12
index 7c860e7395..2c776bd716 100644
--- a/target/linux/generic/kernel-6.12
+++ b/target/linux/generic/kernel-6.12
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .92
-LINUX_KERNEL_HASH-6.12.92 = 0fe376b7db3cac4456b38291bee4faa7091cb8befaa6f9870314f5d1282f9e3e
+LINUX_VERSION-6.12 = .93
+LINUX_KERNEL_HASH-6.12.93 = 492648a87c0b69c5ac7f43be64792b9000e3439550d4e82e4a14710c49094fa3
diff --git a/target/linux/generic/pending-6.12/655-increase_skb_pad.patch b/target/linux/generic/pending-6.12/655-increase_skb_pad.patch
index 7e2d3dcfbc..8bdb26f25d 100644
--- a/target/linux/generic/pending-6.12/655-increase_skb_pad.patch
+++ b/target/linux/generic/pending-6.12/655-increase_skb_pad.patch
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -3241,7 +3241,7 @@ static inline int pskb_network_may_pull(
+@@ -3243,7 +3243,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
diff --git a/target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 7e99fae6b8..861090d31e 100644
--- a/target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = {
.__rcuref = RCUREF_INIT(1),
-@@ -1086,6 +1100,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1089,6 +1103,7 @@ static const int fib6_prop[RTN_MAX + 1]
[RTN_BLACKHOLE] = -EINVAL,
[RTN_UNREACHABLE] = -EHOSTUNREACH,
[RTN_PROHIBIT] = -EACCES,
@@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
[RTN_THROW] = -EAGAIN,
[RTN_NAT] = -EINVAL,
[RTN_XRESOLVE] = -EINVAL,
-@@ -1121,6 +1136,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1124,6 +1139,10 @@ static void ip6_rt_init_dst_reject(struc
rt->dst.output = ip6_pkt_prohibit_out;
rt->dst.input = ip6_pkt_prohibit;
break;
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case RTN_THROW:
case RTN_UNREACHABLE:
default:
-@@ -4609,6 +4628,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4612,6 +4631,17 @@ static int ip6_pkt_prohibit_out(struct n
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
}
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* Allocate a dst for local (unicast / anycast) address.
*/
-@@ -5100,7 +5130,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -5103,7 +5133,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
-@@ -6371,6 +6402,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6376,6 +6407,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
-@@ -6382,6 +6415,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6387,6 +6420,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif
}
-@@ -6577,6 +6611,8 @@ static int __net_init ip6_route_net_init
+@@ -6582,6 +6616,8 @@ static int __net_init ip6_route_net_init
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
sizeof(*net->ipv6.ip6_prohibit_entry),
GFP_KERNEL);
-@@ -6587,11 +6623,21 @@ static int __net_init ip6_route_net_init
+@@ -6592,11 +6628,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true);
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached);
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
-@@ -6618,6 +6664,8 @@ out:
+@@ -6623,6 +6669,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
-@@ -6637,6 +6685,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6642,6 +6690,7 @@ static void __net_exit ip6_route_net_exi
kfree(net->ipv6.ip6_null_entry);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
kfree(net->ipv6.ip6_blk_hole_entry);
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6720,6 +6769,9 @@ void __init ip6_route_init_special_entri
+@@ -6725,6 +6774,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch b/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
index f934488325..3c493bbdb9 100644
--- a/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
+++ b/target/linux/ipq40xx/patches-6.12/701-net-dsa-add-out-of-band-tagging-protocol.patch
@@ -93,7 +93,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
+#endif
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -4850,6 +4850,9 @@ enum skb_ext_id {
+@@ -4852,6 +4852,9 @@ enum skb_ext_id {
#if IS_ENABLED(CONFIG_MCTP_FLOWS)
SKB_EXT_MCTP,
#endif
@@ -136,7 +136,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
#include <net/dst.h>
#include <net/sock.h>
#include <net/checksum.h>
-@@ -5074,6 +5078,9 @@ static const u8 skb_ext_type_len[] = {
+@@ -5097,6 +5101,9 @@ static const u8 skb_ext_type_len[] = {
#if IS_ENABLED(CONFIG_MCTP_FLOWS)
[SKB_EXT_MCTP] = SKB_EXT_CHUNKSIZEOF(struct mctp_flow),
#endif
diff --git a/target/linux/rockchip/patches-6.12/035-02-v6.13-gpio-rockchip-change-the-GPIO-version-judgment-logic.patch b/target/linux/rockchip/patches-6.12/035-02-v6.13-gpio-rockchip-change-the-GPIO-version-judgment-logic.patch
index 277d933e77..f3c839e9f2 100644
--- a/target/linux/rockchip/patches-6.12/035-02-v6.13-gpio-rockchip-change-the-GPIO-version-judgment-logic.patch
+++ b/target/linux/rockchip/patches-6.12/035-02-v6.13-gpio-rockchip-change-the-GPIO-version-judgment-logic.patch
@@ -16,8 +16,8 @@ Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
--- a/drivers/gpio/gpio-rockchip.c
+++ b/drivers/gpio/gpio-rockchip.c
-@@ -660,8 +660,9 @@ static int rockchip_get_bank_data(struct
- clk_prepare_enable(bank->clk);
+@@ -659,8 +659,9 @@ static int rockchip_get_bank_data(struct
+
id = readl(bank->reg_base + gpio_regs_v2.version_id);
- /* If not gpio v2, that is default to v1. */
@@ -28,8 +28,8 @@ Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
bank->gpio_regs = &gpio_regs_v2;
bank->gpio_type = GPIO_TYPE_V2;
bank->db_clk = of_clk_get(bank->of_node, 1);
-@@ -670,9 +671,14 @@ static int rockchip_get_bank_data(struct
- clk_disable_unprepare(bank->clk);
+@@ -668,9 +669,14 @@ static int rockchip_get_bank_data(struct
+ dev_err(bank->dev, "cannot find debounce clk\n");
return -EINVAL;
}
- } else {
diff --git a/target/linux/rockchip/patches-6.12/035-03-v6.13-gpio-rockchip-support-new-version-GPIO.patch b/target/linux/rockchip/patches-6.12/035-03-v6.13-gpio-rockchip-support-new-version-GPIO.patch
index 614a7b3d29..38c1979921 100644
--- a/target/linux/rockchip/patches-6.12/035-03-v6.13-gpio-rockchip-support-new-version-GPIO.patch
+++ b/target/linux/rockchip/patches-6.12/035-03-v6.13-gpio-rockchip-support-new-version-GPIO.patch
@@ -24,7 +24,7 @@ Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
static const struct rockchip_gpio_regs gpio_regs_v1 = {
.port_dr = 0x00,
-@@ -663,6 +664,7 @@ static int rockchip_get_bank_data(struct
+@@ -662,6 +663,7 @@ static int rockchip_get_bank_data(struct
switch (id) {
case GPIO_TYPE_V2:
case GPIO_TYPE_V2_1:
diff --git a/target/linux/uml/patches-6.12/101-mconsole-exec.patch b/target/linux/uml/patches-6.12/101-mconsole-exec.patch
index 9ba4523a16..6b0b196ff8 100644
--- a/target/linux/uml/patches-6.12/101-mconsole-exec.patch
+++ b/target/linux/uml/patches-6.12/101-mconsole-exec.patch
@@ -153,7 +153,7 @@
int (*init)(struct subprocess_info *info, struct cred *new);
--- a/kernel/umh.c
+++ b/kernel/umh.c
-@@ -29,6 +29,7 @@
+@@ -28,6 +28,7 @@
#include <linux/uaccess.h>
#include <linux/initrd.h>
#include <linux/freezer.h>
@@ -161,7 +161,7 @@
#include <trace/events/module.h>
-@@ -71,6 +72,28 @@ static int call_usermodehelper_exec_asyn
+@@ -70,6 +71,28 @@ static int call_usermodehelper_exec_asyn
flush_signal_handlers(current, 1);
spin_unlock_irq(&current->sighand->siglock);
@@ -190,7 +190,7 @@
/*
* Initial kernel threads share ther FS with init, in order to
* get the init root directory. But we've now created a new
-@@ -330,6 +353,20 @@ static void helper_unlock(void)
+@@ -329,6 +352,20 @@ static void helper_unlock(void)
wake_up(&running_helpers_waitq);
}
diff --git a/target/linux/uml/patches-6.12/102-pseudo-random-mac.patch b/target/linux/uml/patches-6.12/102-pseudo-random-mac.patch
index 2b42459fe8..825186c90c 100644
--- a/target/linux/uml/patches-6.12/102-pseudo-random-mac.patch
+++ b/target/linux/uml/patches-6.12/102-pseudo-random-mac.patch
@@ -134,7 +134,7 @@ Applies to vanilla kernel 3.9.4.
static DEFINE_SPINLOCK(devices_lock);
--- a/kernel/umh.c
+++ b/kernel/umh.c
-@@ -354,12 +354,12 @@ static void helper_unlock(void)
+@@ -353,12 +353,12 @@ static void helper_unlock(void)
}
int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info,