[openwrt/openwrt] kernel: bump 6.12 to 6.12.58
LEDE Commits
lede-commits at lists.infradead.org
Thu Nov 20 12:31:27 PST 2025
hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/738876e76bb20e9fffac7da54aeee642cd59e51e
commit 738876e76bb20e9fffac7da54aeee642cd59e51e
Author: gongzi miao <miaogongzi0227 at gmail.com>
AuthorDate: Fri Nov 14 12:27:56 2025 +0800
kernel: bump 6.12 to 6.12.58
changelogs:
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.58
Removed upstreamed patches:
1. target/linux/generic/backport-6.12/612-01-v6.17-net-dsa-tag_brcm-legacy-reorganize-functions.patch
Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=a4daaf063f8269a5881154c5b77c5ef6639d65d3
2. target/linux/qualcommax/patches-6.12/0151-arm64-qcom-ipq6018-nss_port5.patch
Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=9a7a5d50ee2e035325de9c720e4842d6759d2374
3. target/linux/realtek/patches-6.12/020-01-v6.18-timer-rtl-otto-work-around-dying-timers.patch
Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=d0e217b33d42bfe52ef7ef447916a23a586e6e5c
4. target/linux/realtek/patches-6.12/020-03-v6.18-timer-rtl-otto-do-not-interfere-with-interrupts.patch
Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=8cc561dd9d02f1753ae34dfdd565662828be9a9d
Additional changes:
- Manually adapted bcm27xx patch:
* 950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
Rebased and adjusted for kernel 6.12 to fix context conflicts.
- Synced lantiq DTS (danube.dtsi) with upstream bindings
to fix DT validation issues on kernel 6.12.
- Manually adapted DTS to match OpenWrt's lantiq DTS layout.
Compile-tested on x86_64
Run-tested on x86_64
Signed-off-by: gongzi miao <miaogongzi0227 at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20777
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
...-adv7180-Default-to-the-first-valid-input.patch | 4 +-
...ia-adv7180-Add-YPrPb-support-for-ADV7282M.patch | 2 +-
...v7180-Nasty-hack-to-allow-input-selection.patch | 8 +-
...oth-hci_sync-Add-fallback-bd-address-prop.patch | 4 +-
...-client-to-request-a-particular-dev-fbN-n.patch | 2 +-
...rmal-step_wise-add-support-for-hysteresis.patch | 8 +-
...dv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch | 4 +-
...dv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch | 51 +++++----
...uetooth-hci_sync-Fix-crash-on-NULL-parent.patch | 2 +-
.../950-0692-cgroup-Add-cgroup_enable-option.patch | 2 +-
...-work-around-VL805-firmware-ASPM-meddling.patch | 2 +-
...cm531x5-fix-cpu-rgmii-mode-interpretation.patch | 4 +-
...-marvell-implement-phy_inband_caps-method.patch | 6 +-
...hy-marvell-implement-config_inband-method.patch | 6 +-
...net-dsa-b53-mdio-add-support-for-BCM53101.patch | 4 +-
...net-dsa-b53-implement-setting-ageing-time.patch | 6 +-
...-do-not-configure-bcm63xx-s-IMP-port-inte.patch | 4 +-
...-dsa-tag_brcm-legacy-reorganize-functions.patch | 99 ----------------
...-tag_brcm-add-support-for-legacy-FCS-tags.patch | 6 +-
...v6.17-net-dsa-b53-support-legacy-FCS-tags.patch | 2 +-
...v6.17-net-dsa-b53-detect-BCM5325-variants.patch | 6 +-
...d-support-for-FDB-operations-on-5325-5365.patch | 18 +--
...fix-unicast-multicast-flooding-on-BCM5325.patch | 2 +-
...14-net-phy-Constify-struct-mdio_device_id.patch | 2 +-
...8169-adjust-version-numbering-for-RTL8126.patch | 2 +-
...69-merge-chip-versions-70-and-71-RTL8126A.patch | 2 +-
...0-42-v6.16-r8169-add-support-for-RTL8127A.patch | 2 +-
...ol-try-to-free-deferred-skbs-while-waitin.patch | 4 +-
.../780-usb-net-MeigLink_modem_support.patch | 4 +-
.../linux/generic/hack-6.12/902-debloat_proc.patch | 2 +-
target/linux/generic/kernel-6.12 | 4 +-
...NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch | 2 +-
...ge-add-knob-for-filtering-rx-tx-BPDU-pack.patch | 4 +-
...rovide-old-opp-to-config_clks-on-_set_opp.patch | 4 +-
.../810-pci_disable_common_quirks.patch | 6 +-
...ip-link-up-workaround-for-newer-platforms.patch | 6 +-
...dhci-msm-use-sdhci_set_clock-instead-of-s.patch | 2 +-
...ci-msm-comment-unused-sdhci_msm_set_clock.patch | 2 +-
.../files/arch/mips/boot/dts/lantiq/danube.dtsi | 2 +-
...rmal-step_wise-add-support-for-hysteresis.patch | 2 +-
.../0151-arm64-qcom-ipq6018-nss_port5.patch | 125 ---------------------
...-qcom-q6v5-Add-multipd-interrupts-support.patch | 6 +-
.../810-uvc-add-iPassion-iP2970-support.patch | 2 +-
...8-timer-rtl-otto-work-around-dying-timers.patch | 103 -----------------
...rtl-otto-do-not-interfere-with-interrupts.patch | 60 ----------
...scsi-ufs-core-Export-ufshcd_dme_reset-and.patch | 10 +-
...t-IRQCHIP_EOI_THREADED-in-PREEMPT_RT-case.patch | 4 +-
47 files changed, 116 insertions(+), 498 deletions(-)
diff --git a/target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch b/target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch
index 52a113906f..c294e5286a 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0103-media-adv7180-Default-to-the-first-valid-input.patch
@@ -16,7 +16,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -1362,6 +1362,7 @@ static const struct adv7180_chip_info ad
+@@ -1352,6 +1352,7 @@ static const struct adv7180_chip_info ad
static int init_device(struct adv7180_state *state)
{
int ret;
@@ -24,7 +24,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
mutex_lock(&state->mutex);
-@@ -1409,6 +1410,18 @@ static int init_device(struct adv7180_st
+@@ -1399,6 +1400,18 @@ static int init_device(struct adv7180_st
goto out_unlock;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch b/target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
index 8669c93edb..1552f6358c 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0104-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
@@ -14,7 +14,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -1351,6 +1351,7 @@ static const struct adv7180_chip_info ad
+@@ -1341,6 +1341,7 @@ static const struct adv7180_chip_info ad
BIT(ADV7182_INPUT_SVIDEO_AIN1_AIN2) |
BIT(ADV7182_INPUT_SVIDEO_AIN3_AIN4) |
BIT(ADV7182_INPUT_SVIDEO_AIN7_AIN8) |
diff --git a/target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch b/target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch
index c36033642b..fca52578af 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0295-media-adv7180-Nasty-hack-to-allow-input-selection.patch
@@ -30,7 +30,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
struct adv7180_state;
#define ADV7180_FLAG_RESET_POWERED BIT(0)
-@@ -408,10 +412,24 @@ out:
+@@ -403,10 +407,24 @@ out:
return ret;
}
@@ -56,7 +56,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
if (ret)
return ret;
-@@ -437,7 +455,11 @@ static int adv7180_program_std(struct ad
+@@ -432,7 +450,11 @@ static int adv7180_program_std(struct ad
static int adv7180_s_std(struct v4l2_subdev *sd, v4l2_std_id std)
{
struct adv7180_state *state = to_state(sd);
@@ -69,7 +69,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
if (ret)
return ret;
-@@ -459,6 +481,8 @@ static int adv7180_g_std(struct v4l2_sub
+@@ -454,6 +476,8 @@ static int adv7180_g_std(struct v4l2_sub
{
struct adv7180_state *state = to_state(sd);
@@ -78,7 +78,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
*norm = state->curr_norm;
return 0;
-@@ -900,6 +924,8 @@ static int adv7180_s_stream(struct v4l2_
+@@ -890,6 +914,8 @@ static int adv7180_s_stream(struct v4l2_
return 0;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch b/target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
index 81e8d31c1b..aea33e7533 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
@@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4930,6 +4930,7 @@ static const struct {
+@@ -4935,6 +4935,7 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
int ret = 0;
bool invalid_bdaddr;
size_t i;
-@@ -4958,7 +4959,8 @@ static int hci_dev_setup_sync(struct hci
+@@ -4963,7 +4964,8 @@ static int hci_dev_setup_sync(struct hci
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
if (!ret) {
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
diff --git a/target/linux/bcm27xx/patches-6.12/950-0392-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch b/target/linux/bcm27xx/patches-6.12/950-0392-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch
index 13e8d1bb3c..7b993d9987 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0392-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0392-fbdev-Allow-client-to-request-a-particular-dev-fbN-n.patch
@@ -55,7 +55,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
#ifdef CONFIG_GUMSTIX_AM200EPD
{
-@@ -506,6 +509,12 @@ static void do_unregister_framebuffer(st
+@@ -507,6 +510,12 @@ static void do_unregister_framebuffer(st
put_fb_info(fb_info);
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0402-drivers-thermal-step_wise-add-support-for-hysteresis.patch b/target/linux/bcm27xx/patches-6.12/950-0402-drivers-thermal-step_wise-add-support-for-hysteresis.patch
index d0c9fab6d4..b47c4322da 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0402-drivers-thermal-step_wise-add-support-for-hysteresis.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0402-drivers-thermal-step_wise-add-support-for-hysteresis.patch
@@ -36,7 +36,7 @@ Signed-off-by: Jürgen Kreileder <jk at blackdown.de>
--- a/drivers/thermal/gov_step_wise.c
+++ b/drivers/thermal/gov_step_wise.c
-@@ -17,11 +17,11 @@
+@@ -17,13 +17,13 @@
#include "thermal_core.h"
/*
@@ -44,13 +44,15 @@ Signed-off-by: Jürgen Kreileder <jk at blackdown.de>
+ * If the temperature is higher than a hysteresis temperature,
* a. if the trend is THERMAL_TREND_RAISING, use higher cooling
* state for this trip point
- * b. if the trend is THERMAL_TREND_DROPPING, do nothing
+ * b. if the trend is THERMAL_TREND_DROPPING, use a lower cooling state
+ * for this trip point, but keep the cooling state above the applicable
+ * minimum
- * If the temperature is lower than a trip point,
+ * If the temperature is lower than a hysteresis temperature,
* a. if the trend is THERMAL_TREND_RAISING, do nothing
* b. if the trend is THERMAL_TREND_DROPPING, use lower cooling
* state for this trip point, if the cooling state already
-@@ -74,19 +74,35 @@ static void thermal_zone_trip_update(str
+@@ -87,19 +87,35 @@ static void thermal_zone_trip_update(str
int trip_id = thermal_zone_trip_id(tz, trip);
struct thermal_instance *instance;
bool throttle = false;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch b/target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
index 5790d79ade..9b86b31a5d 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0409-media-i2c-adv7180-Use-MEDIA_BUS_FMT_UYVY8_1X16-for-C.patch
@@ -17,7 +17,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
-@@ -737,10 +737,15 @@ static int adv7180_enum_mbus_code(struct
+@@ -732,10 +732,15 @@ static int adv7180_enum_mbus_code(struct
struct v4l2_subdev_state *sd_state,
struct v4l2_subdev_mbus_code_enum *code)
{
@@ -34,7 +34,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
return 0;
}
-@@ -750,7 +755,10 @@ static int adv7180_mbus_fmt(struct v4l2_
+@@ -745,7 +750,10 @@ static int adv7180_mbus_fmt(struct v4l2_
{
struct adv7180_state *state = to_state(sd);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch b/target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
index 4bc7a684eb..d67112a069 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
@@ -1,18 +1,14 @@
-From 7e58b9c99676d641ef76edd9c097f1c3c4e6c464 Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson at raspberrypi.com>
-Date: Thu, 21 Dec 2023 18:03:34 +0000
-Subject: [PATCH] media: i2c: adv7180: Add support for V4L2_CID_LINK_FREQ
-
-For CSI2 receivers that need to know the link frequency,
-add it as a control to the driver.
-Interlaced modes are 216Mbp/s or 108MHz, whilst going through
-the I2P to deinterlace gives 432Mb/s or 216MHz.
-
-Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
----
- drivers/media/i2c/adv7180.c | 32 +++++++++++++++++++++++++++++++-
- 1 file changed, 31 insertions(+), 1 deletion(-)
-
+From 954129f16c200e41a00ebebe2e22efc01b243538 Mon Sep 17 00:00:00 2001
+From: Dom Cobley <popcornmix at gmail.com>
+Date: Fri, 14 Nov 2025 14:08:18 +0000
+Subject: [PATCH] Revert "Revert "media: i2c: adv7180: Add support for
+ V4L2_CID_LINK_FREQ""
+
+This reverts commit 00ecb85c58501f8f7ae75fcb069bbbad5542e853.
+---
+ drivers/media/i2c/adv7180.c | 39 +++++++++++++++++++++++++++++++++++--
+ 1 file changed, 37 insertions(+), 2 deletions(-)
+
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
@@ -189,6 +189,16 @@
@@ -40,7 +36,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
};
#define to_adv7180_sd(_ctrl) (&container_of(_ctrl->handler, \
struct adv7180_state, \
-@@ -630,6 +641,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -625,6 +636,9 @@ static int adv7180_s_ctrl(struct v4l2_ct
if (ret)
return ret;
@@ -50,7 +46,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
val = ctrl->val;
switch (ctrl->id) {
case V4L2_CID_BRIGHTNESS:
-@@ -671,6 +685,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
+@@ -666,6 +680,7 @@ static int adv7180_s_ctrl(struct v4l2_ct
ret = -EINVAL;
}
@@ -58,7 +54,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
mutex_unlock(&state->mutex);
return ret;
}
-@@ -691,7 +706,7 @@ static const struct v4l2_ctrl_config adv
+@@ -686,7 +701,7 @@ static const struct v4l2_ctrl_config adv
static int adv7180_init_controls(struct adv7180_state *state)
{
@@ -67,7 +63,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
v4l2_ctrl_new_std(&state->ctrl_hdl, &adv7180_ctrl_ops,
V4L2_CID_BRIGHTNESS, ADV7180_BRI_MIN,
-@@ -717,6 +732,17 @@ static int adv7180_init_controls(struct
+@@ -712,6 +727,17 @@ static int adv7180_init_controls(struct
test_pattern_menu);
}
@@ -85,14 +81,21 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
state->sd.ctrl_handler = &state->ctrl_hdl;
if (state->ctrl_hdl.error) {
int err = state->ctrl_hdl.error;
-@@ -849,6 +875,10 @@ static int adv7180_set_pad_format(struct
- adv7180_set_power(state, false);
- adv7180_set_field_mode(state);
- adv7180_set_power(state, true);
+@@ -839,7 +865,16 @@ static int adv7180_set_pad_format(struct
+ ret = adv7180_mbus_fmt(sd, &format->format);
+
+ if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
+- state->field = format->format.field;
++ if (state->field != format->format.field) {
++ state->field = format->format.field;
++ adv7180_set_power(state, false);
++ adv7180_set_field_mode(state);
++ adv7180_set_power(state, true);
+ if (state->chip_info->flags & ADV7180_FLAG_MIPI_CSI2)
+ __v4l2_ctrl_s_ctrl(state->link_freq,
+ (state->field == V4L2_FIELD_NONE) ?
+ I2P_IDX : INTERLACED_IDX);
- }
++ }
} else {
framefmt = v4l2_subdev_state_get_format(sd_state, 0);
+ *framefmt = format->format;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch b/target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch
index cb98eb72fb..db23f1f1ff 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4930,7 +4930,8 @@ static const struct {
+@@ -4935,7 +4935,8 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
diff --git a/target/linux/bcm27xx/patches-6.12/950-0692-cgroup-Add-cgroup_enable-option.patch b/target/linux/bcm27xx/patches-6.12/950-0692-cgroup-Add-cgroup_enable-option.patch
index d44e050e02..64176cbfc7 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0692-cgroup-Add-cgroup_enable-option.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0692-cgroup-Add-cgroup_enable-option.patch
@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
-@@ -6916,6 +6916,39 @@ static int __init cgroup_disable(char *s
+@@ -6932,6 +6932,39 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch b/target/linux/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch
index e0c0cc105f..acc981dc2e 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0949-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch
@@ -18,7 +18,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -6255,6 +6255,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -6256,6 +6256,22 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56b1, aspm_l1_acceptable_latency);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c0, aspm_l1_acceptable_latency);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c1, aspm_l1_acceptable_latency);
diff --git a/target/linux/bmips/patches-6.12/110-net-dsa-b53-bcm531x5-fix-cpu-rgmii-mode-interpretation.patch b/target/linux/bmips/patches-6.12/110-net-dsa-b53-bcm531x5-fix-cpu-rgmii-mode-interpretation.patch
index 30f346ff1e..e27c4cd98f 100644
--- a/target/linux/bmips/patches-6.12/110-net-dsa-b53-bcm531x5-fix-cpu-rgmii-mode-interpretation.patch
+++ b/target/linux/bmips/patches-6.12/110-net-dsa-b53-bcm531x5-fix-cpu-rgmii-mode-interpretation.patch
@@ -58,7 +58,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
+ the phy interface, but actually requires internal delays enabled.
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1426,6 +1426,16 @@ static void b53_adjust_531x5_rgmii(struc
+@@ -1435,6 +1435,16 @@ static void b53_adjust_531x5_rgmii(struc
else
off = B53_RGMII_CTRL_P(port);
@@ -75,7 +75,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
/* Configure the port RGMII clock delay by DLL disabled and
* tx_clk aligned timing (restoring to reset defaults)
*/
-@@ -1437,19 +1447,24 @@ static void b53_adjust_531x5_rgmii(struc
+@@ -1446,19 +1456,24 @@ static void b53_adjust_531x5_rgmii(struc
* account for this internal delay that is inserted, otherwise
* the switch won't be able to receive correctly.
*
diff --git a/target/linux/generic/backport-6.12/601-06-v6.14-net-phy-marvell-implement-phy_inband_caps-method.patch b/target/linux/generic/backport-6.12/601-06-v6.14-net-phy-marvell-implement-phy_inband_caps-method.patch
index fb5d9c20af..e2dfeba1d5 100644
--- a/target/linux/generic/backport-6.12/601-06-v6.14-net-phy-marvell-implement-phy_inband_caps-method.patch
+++ b/target/linux/generic/backport-6.12/601-06-v6.14-net-phy-marvell-implement-phy_inband_caps-method.patch
@@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
static int m88e1111_config_aneg(struct phy_device *phydev)
{
int extsr = phy_read(phydev, MII_M1111_PHY_EXT_SR);
-@@ -3667,6 +3681,7 @@ static struct phy_driver marvell_drivers
+@@ -3704,6 +3718,7 @@ static struct phy_driver marvell_drivers
.name = "Marvell 88E1112",
/* PHY_GBIT_FEATURES */
.probe = marvell_probe,
@@ -45,7 +45,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
.config_init = m88e1112_config_init,
.config_aneg = marvell_config_aneg,
.config_intr = marvell_config_intr,
-@@ -3688,6 +3703,7 @@ static struct phy_driver marvell_drivers
+@@ -3725,6 +3740,7 @@ static struct phy_driver marvell_drivers
/* PHY_GBIT_FEATURES */
.flags = PHY_POLL_CABLE_TEST,
.probe = marvell_probe,
@@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
.config_init = m88e1111gbe_config_init,
.config_aneg = m88e1111_config_aneg,
.read_status = marvell_read_status,
-@@ -3711,6 +3727,7 @@ static struct phy_driver marvell_drivers
+@@ -3748,6 +3764,7 @@ static struct phy_driver marvell_drivers
.name = "Marvell 88E1111 (Finisar)",
/* PHY_GBIT_FEATURES */
.probe = marvell_probe,
diff --git a/target/linux/generic/backport-6.12/601-08-v6.14-net-phy-marvell-implement-config_inband-method.patch b/target/linux/generic/backport-6.12/601-08-v6.14-net-phy-marvell-implement-config_inband-method.patch
index 00788d42fc..4531c507e2 100644
--- a/target/linux/generic/backport-6.12/601-08-v6.14-net-phy-marvell-implement-config_inband-method.patch
+++ b/target/linux/generic/backport-6.12/601-08-v6.14-net-phy-marvell-implement-config_inband-method.patch
@@ -51,7 +51,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
static int m88e1111_config_aneg(struct phy_device *phydev)
{
int extsr = phy_read(phydev, MII_M1111_PHY_EXT_SR);
-@@ -3682,6 +3710,7 @@ static struct phy_driver marvell_drivers
+@@ -3719,6 +3747,7 @@ static struct phy_driver marvell_drivers
/* PHY_GBIT_FEATURES */
.probe = marvell_probe,
.inband_caps = m88e1111_inband_caps,
@@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
.config_init = m88e1112_config_init,
.config_aneg = marvell_config_aneg,
.config_intr = marvell_config_intr,
-@@ -3704,6 +3733,7 @@ static struct phy_driver marvell_drivers
+@@ -3741,6 +3770,7 @@ static struct phy_driver marvell_drivers
.flags = PHY_POLL_CABLE_TEST,
.probe = marvell_probe,
.inband_caps = m88e1111_inband_caps,
@@ -67,7 +67,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
.config_init = m88e1111gbe_config_init,
.config_aneg = m88e1111_config_aneg,
.read_status = marvell_read_status,
-@@ -3728,6 +3758,7 @@ static struct phy_driver marvell_drivers
+@@ -3765,6 +3795,7 @@ static struct phy_driver marvell_drivers
/* PHY_GBIT_FEATURES */
.probe = marvell_probe,
.inband_caps = m88e1111_inband_caps,
diff --git a/target/linux/generic/backport-6.12/610-03-v6.15-net-dsa-b53-mdio-add-support-for-BCM53101.patch b/target/linux/generic/backport-6.12/610-03-v6.15-net-dsa-b53-mdio-add-support-for-BCM53101.patch
index 6d69ec0648..0ec9f51395 100644
--- a/target/linux/generic/backport-6.12/610-03-v6.15-net-dsa-b53-mdio-add-support-for-BCM53101.patch
+++ b/target/linux/generic/backport-6.12/610-03-v6.15-net-dsa-b53-mdio-add-support-for-BCM53101.patch
@@ -18,7 +18,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2584,6 +2584,19 @@ static const struct b53_chip_data b53_sw
+@@ -2603,6 +2603,19 @@ static const struct b53_chip_data b53_sw
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
},
{
@@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
.chip_id = BCM53115_DEVICE_ID,
.dev_name = "BCM53115",
.vlans = 4096,
-@@ -2964,6 +2977,7 @@ int b53_switch_detect(struct b53_device
+@@ -2983,6 +2996,7 @@ int b53_switch_detect(struct b53_device
return ret;
switch (id32) {
diff --git a/target/linux/generic/backport-6.12/610-04-v6.16-net-dsa-b53-implement-setting-ageing-time.patch b/target/linux/generic/backport-6.12/610-04-v6.16-net-dsa-b53-implement-setting-ageing-time.patch
index 5c993a6119..1e1756d04a 100644
--- a/target/linux/generic/backport-6.12/610-04-v6.16-net-dsa-b53-implement-setting-ageing-time.patch
+++ b/target/linux/generic/backport-6.12/610-04-v6.16-net-dsa-b53-implement-setting-ageing-time.patch
@@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
ret = b53_reset_switch(dev);
if (ret) {
dev_err(ds->dev, "failed to reset switch\n");
-@@ -2444,6 +2449,28 @@ static int b53_get_max_mtu(struct dsa_sw
+@@ -2463,6 +2468,28 @@ static int b53_get_max_mtu(struct dsa_sw
return B53_MAX_MTU;
}
@@ -69,7 +69,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
static const struct phylink_mac_ops b53_phylink_mac_ops = {
.mac_select_pcs = b53_phylink_mac_select_pcs,
.mac_config = b53_phylink_mac_config,
-@@ -2468,6 +2495,7 @@ static const struct dsa_switch_ops b53_s
+@@ -2487,6 +2514,7 @@ static const struct dsa_switch_ops b53_s
.support_eee = b53_support_eee,
.get_mac_eee = b53_get_mac_eee,
.set_mac_eee = b53_set_mac_eee,
@@ -89,7 +89,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
void b53_br_leave(struct dsa_switch *ds, int port, struct dsa_bridge bridge);
--- a/drivers/net/dsa/b53/b53_regs.h
+++ b/drivers/net/dsa/b53/b53_regs.h
-@@ -225,6 +225,13 @@
+@@ -224,6 +224,13 @@
#define BRCM_HDR_P5_EN BIT(1) /* Enable tagging on port 5 */
#define BRCM_HDR_P7_EN BIT(2) /* Enable tagging on port 7 */
diff --git a/target/linux/generic/backport-6.12/610-07-v6.16-net-dsa-b53-do-not-configure-bcm63xx-s-IMP-port-inte.patch b/target/linux/generic/backport-6.12/610-07-v6.16-net-dsa-b53-do-not-configure-bcm63xx-s-IMP-port-inte.patch
index f2c4464b06..e70f09e050 100644
--- a/target/linux/generic/backport-6.12/610-07-v6.16-net-dsa-b53-do-not-configure-bcm63xx-s-IMP-port-inte.patch
+++ b/target/linux/generic/backport-6.12/610-07-v6.16-net-dsa-b53-do-not-configure-bcm63xx-s-IMP-port-inte.patch
@@ -28,7 +28,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
#include <linux/module.h>
#include <linux/platform_data/b53.h>
#include <linux/phy.h>
-@@ -1360,24 +1361,17 @@ static void b53_adjust_63xx_rgmii(struct
+@@ -1369,24 +1370,17 @@ static void b53_adjust_63xx_rgmii(struct
phy_interface_t interface)
{
struct b53_device *dev = ds->priv;
@@ -59,7 +59,7 @@ Signed-off-by: Paolo Abeni <pabeni at redhat.com>
dev_dbg(ds->dev, "Configured port %d for %s\n", port,
phy_modes(interface));
-@@ -1528,7 +1522,7 @@ static void b53_phylink_mac_config(struc
+@@ -1537,7 +1531,7 @@ static void b53_phylink_mac_config(struc
struct b53_device *dev = ds->priv;
int port = dp->index;
diff --git a/target/linux/generic/backport-6.12/612-01-v6.17-net-dsa-tag_brcm-legacy-reorganize-functions.patch b/target/linux/generic/backport-6.12/612-01-v6.17-net-dsa-tag_brcm-legacy-reorganize-functions.patch
deleted file mode 100644
index 23d4929eaa..0000000000
--- a/target/linux/generic/backport-6.12/612-01-v6.17-net-dsa-tag_brcm-legacy-reorganize-functions.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From a4daaf063f8269a5881154c5b77c5ef6639d65d3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari at gmail.com>
-Date: Sat, 14 Jun 2025 09:59:47 +0200
-Subject: [PATCH] net: dsa: tag_brcm: legacy: reorganize functions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Move brcm_leg_tag_rcv() definition to top.
-This function is going to be shared between two different tags.
-
-Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
-Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
-Link: https://patch.msgid.link/20250614080000.1884236-2-noltari@gmail.com
-Signed-off-by: Jakub Kicinski <kuba at kernel.org>
----
- net/dsa/tag_brcm.c | 64 +++++++++++++++++++++++-----------------------
- 1 file changed, 32 insertions(+), 32 deletions(-)
-
---- a/net/dsa/tag_brcm.c
-+++ b/net/dsa/tag_brcm.c
-@@ -213,6 +213,38 @@ MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROT
- #endif
-
- #if IS_ENABLED(CONFIG_NET_DSA_TAG_BRCM_LEGACY)
-+static struct sk_buff *brcm_leg_tag_rcv(struct sk_buff *skb,
-+ struct net_device *dev)
-+{
-+ int len = BRCM_LEG_TAG_LEN;
-+ int source_port;
-+ u8 *brcm_tag;
-+
-+ if (unlikely(!pskb_may_pull(skb, BRCM_LEG_TAG_LEN + VLAN_HLEN)))
-+ return NULL;
-+
-+ brcm_tag = dsa_etype_header_pos_rx(skb);
-+
-+ source_port = brcm_tag[5] & BRCM_LEG_PORT_ID;
-+
-+ skb->dev = dsa_conduit_find_user(dev, 0, source_port);
-+ if (!skb->dev)
-+ return NULL;
-+
-+ /* VLAN tag is added by BCM63xx internal switch */
-+ if (netdev_uses_dsa(skb->dev))
-+ len += VLAN_HLEN;
-+
-+ /* Remove Broadcom tag and update checksum */
-+ skb_pull_rcsum(skb, len);
-+
-+ dsa_default_offload_fwd_mark(skb);
-+
-+ dsa_strip_etype_header(skb, len);
-+
-+ return skb;
-+}
-+
- static struct sk_buff *brcm_leg_tag_xmit(struct sk_buff *skb,
- struct net_device *dev)
- {
-@@ -249,38 +281,6 @@ static struct sk_buff *brcm_leg_tag_xmit
-
- return skb;
- }
--
--static struct sk_buff *brcm_leg_tag_rcv(struct sk_buff *skb,
-- struct net_device *dev)
--{
-- int len = BRCM_LEG_TAG_LEN;
-- int source_port;
-- u8 *brcm_tag;
--
-- if (unlikely(!pskb_may_pull(skb, BRCM_LEG_TAG_LEN + VLAN_HLEN)))
-- return NULL;
--
-- brcm_tag = dsa_etype_header_pos_rx(skb);
--
-- source_port = brcm_tag[5] & BRCM_LEG_PORT_ID;
--
-- skb->dev = dsa_conduit_find_user(dev, 0, source_port);
-- if (!skb->dev)
-- return NULL;
--
-- /* VLAN tag is added by BCM63xx internal switch */
-- if (netdev_uses_dsa(skb->dev))
-- len += VLAN_HLEN;
--
-- /* Remove Broadcom tag and update checksum */
-- skb_pull_rcsum(skb, len);
--
-- dsa_default_offload_fwd_mark(skb);
--
-- dsa_strip_etype_header(skb, len);
--
-- return skb;
--}
-
- static const struct dsa_device_ops brcm_legacy_netdev_ops = {
- .name = BRCM_LEGACY_NAME,
diff --git a/target/linux/generic/backport-6.12/612-02-v6.17-net-dsa-tag_brcm-add-support-for-legacy-FCS-tags.patch b/target/linux/generic/backport-6.12/612-02-v6.17-net-dsa-tag_brcm-add-support-for-legacy-FCS-tags.patch
index 9f6b71ff64..88f10be377 100644
--- a/target/linux/generic/backport-6.12/612-02-v6.17-net-dsa-tag_brcm-add-support-for-legacy-FCS-tags.patch
+++ b/target/linux/generic/backport-6.12/612-02-v6.17-net-dsa-tag_brcm-add-support-for-legacy-FCS-tags.patch
@@ -99,7 +99,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
static struct sk_buff *brcm_leg_tag_rcv(struct sk_buff *skb,
struct net_device *dev)
{
-@@ -244,7 +250,9 @@ static struct sk_buff *brcm_leg_tag_rcv(
+@@ -250,7 +256,9 @@ static struct sk_buff *brcm_leg_tag_rcv(
return skb;
}
@@ -109,7 +109,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
static struct sk_buff *brcm_leg_tag_xmit(struct sk_buff *skb,
struct net_device *dev)
{
-@@ -294,6 +302,66 @@ DSA_TAG_DRIVER(brcm_legacy_netdev_ops);
+@@ -300,6 +308,66 @@ DSA_TAG_DRIVER(brcm_legacy_netdev_ops);
MODULE_ALIAS_DSA_TAG_DRIVER(DSA_TAG_PROTO_BRCM_LEGACY, BRCM_LEGACY_NAME);
#endif /* CONFIG_NET_DSA_TAG_BRCM_LEGACY */
@@ -176,7 +176,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
#if IS_ENABLED(CONFIG_NET_DSA_TAG_BRCM_PREPEND)
static struct sk_buff *brcm_tag_xmit_prepend(struct sk_buff *skb,
struct net_device *dev)
-@@ -328,6 +396,9 @@ static struct dsa_tag_driver *dsa_tag_dr
+@@ -334,6 +402,9 @@ static struct dsa_tag_driver *dsa_tag_dr
#if IS_ENABLED(CONFIG_NET_DSA_TAG_BRCM_LEGACY)
&DSA_TAG_DRIVER_NAME(brcm_legacy_netdev_ops),
#endif
diff --git a/target/linux/generic/backport-6.12/612-03-v6.17-net-dsa-b53-support-legacy-FCS-tags.patch b/target/linux/generic/backport-6.12/612-03-v6.17-net-dsa-b53-support-legacy-FCS-tags.patch
index 3fbc697f01..d04c97ef7b 100644
--- a/target/linux/generic/backport-6.12/612-03-v6.17-net-dsa-b53-support-legacy-FCS-tags.patch
+++ b/target/linux/generic/backport-6.12/612-03-v6.17-net-dsa-b53-support-legacy-FCS-tags.patch
@@ -32,7 +32,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
This driver adds support for Broadcom managed switch chips. It supports
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -2285,8 +2285,11 @@ enum dsa_tag_protocol b53_get_tag_protoc
+@@ -2304,8 +2304,11 @@ enum dsa_tag_protocol b53_get_tag_protoc
goto out;
}
diff --git a/target/linux/generic/backport-6.12/612-04-v6.17-net-dsa-b53-detect-BCM5325-variants.patch b/target/linux/generic/backport-6.12/612-04-v6.17-net-dsa-b53-detect-BCM5325-variants.patch
index 04ded31a8f..c7af2f2f80 100644
--- a/target/linux/generic/backport-6.12/612-04-v6.17-net-dsa-b53-detect-BCM5325-variants.patch
+++ b/target/linux/generic/backport-6.12/612-04-v6.17-net-dsa-b53-detect-BCM5325-variants.patch
@@ -21,7 +21,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1816,7 +1816,8 @@ static int b53_arl_op(struct b53_device
+@@ -1835,7 +1835,8 @@ static int b53_arl_op(struct b53_device
/* Perform a read for the given MAC and VID */
b53_write48(dev, B53_ARLIO_PAGE, B53_MAC_ADDR_IDX, mac);
@@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
/* Issue a read operation for this MAC */
ret = b53_arl_rw_op(dev, 1);
-@@ -2884,6 +2885,9 @@ static int b53_switch_init(struct b53_de
+@@ -2903,6 +2904,9 @@ static int b53_switch_init(struct b53_de
}
}
@@ -41,7 +41,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
dev->num_ports = fls(dev->enabled_ports);
dev->ds->num_ports = min_t(unsigned int, dev->num_ports, DSA_MAX_PORTS);
-@@ -2985,10 +2989,24 @@ int b53_switch_detect(struct b53_device
+@@ -3004,10 +3008,24 @@ int b53_switch_detect(struct b53_device
b53_write16(dev, B53_VLAN_PAGE, B53_VLAN_TABLE_ACCESS_25, 0xf);
b53_read16(dev, B53_VLAN_PAGE, B53_VLAN_TABLE_ACCESS_25, &tmp);
diff --git a/target/linux/generic/backport-6.12/612-05-v6.17-net-dsa-b53-add-support-for-FDB-operations-on-5325-5365.patch b/target/linux/generic/backport-6.12/612-05-v6.17-net-dsa-b53-add-support-for-FDB-operations-on-5325-5365.patch
index 113528a6d5..509806acf1 100644
--- a/target/linux/generic/backport-6.12/612-05-v6.17-net-dsa-b53-add-support-for-FDB-operations-on-5325-5365.patch
+++ b/target/linux/generic/backport-6.12/612-05-v6.17-net-dsa-b53-add-support-for-FDB-operations-on-5325-5365.patch
@@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
-@@ -1802,6 +1802,45 @@ static int b53_arl_read(struct b53_devic
+@@ -1821,6 +1821,45 @@ static int b53_arl_read(struct b53_devic
return *idx >= dev->num_arl_bins ? -ENOSPC : -ENOENT;
}
@@ -70,7 +70,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
static int b53_arl_op(struct b53_device *dev, int op, int port,
const unsigned char *addr, u16 vid, bool is_valid)
{
-@@ -1824,7 +1863,10 @@ static int b53_arl_op(struct b53_device
+@@ -1843,7 +1882,10 @@ static int b53_arl_op(struct b53_device
if (ret)
return ret;
@@ -82,7 +82,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
/* If this is a read, just finish now */
if (op)
-@@ -1868,12 +1910,17 @@ static int b53_arl_op(struct b53_device
+@@ -1887,12 +1929,17 @@ static int b53_arl_op(struct b53_device
ent.is_static = true;
ent.is_age = false;
memcpy(ent.mac, addr, ETH_ALEN);
@@ -103,7 +103,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
return b53_arl_rw_op(dev, 0);
}
-@@ -1885,12 +1932,6 @@ int b53_fdb_add(struct dsa_switch *ds, i
+@@ -1904,12 +1951,6 @@ int b53_fdb_add(struct dsa_switch *ds, i
struct b53_device *priv = ds->priv;
int ret;
@@ -116,7 +116,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
mutex_lock(&priv->arl_mutex);
ret = b53_arl_op(priv, 0, port, addr, vid, true);
mutex_unlock(&priv->arl_mutex);
-@@ -1917,10 +1958,15 @@ EXPORT_SYMBOL(b53_fdb_del);
+@@ -1936,10 +1977,15 @@ EXPORT_SYMBOL(b53_fdb_del);
static int b53_arl_search_wait(struct b53_device *dev)
{
unsigned int timeout = 1000;
@@ -132,9 +132,9 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
- b53_read8(dev, B53_ARLIO_PAGE, B53_ARL_SRCH_CTL, ®);
+ b53_read8(dev, B53_ARLIO_PAGE, offset, ®);
if (!(reg & ARL_SRCH_STDN))
- return 0;
+ return -ENOENT;
-@@ -1937,13 +1983,24 @@ static void b53_arl_search_rd(struct b53
+@@ -1956,13 +2002,24 @@ static void b53_arl_search_rd(struct b53
struct b53_arl_entry *ent)
{
u64 mac_vid;
@@ -165,7 +165,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
}
static int b53_fdb_copy(int port, const struct b53_arl_entry *ent,
-@@ -1964,14 +2021,20 @@ int b53_fdb_dump(struct dsa_switch *ds,
+@@ -1983,14 +2040,20 @@ int b53_fdb_dump(struct dsa_switch *ds,
struct b53_device *priv = ds->priv;
struct b53_arl_entry results[2];
unsigned int count = 0;
@@ -234,7 +234,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
#include <linux/bcm47xx_nvram.h>
--- a/drivers/net/dsa/b53/b53_regs.h
+++ b/drivers/net/dsa/b53/b53_regs.h
-@@ -329,9 +329,10 @@
+@@ -328,9 +328,10 @@
#define ARLTBL_VID_MASK 0xfff
#define ARLTBL_DATA_PORT_ID_S_25 48
#define ARLTBL_DATA_PORT_ID_MASK_25 0xf
diff --git a/target/linux/generic/backport-6.12/612-12-v6.17-net-dsa-b53-fix-unicast-multicast-flooding-on-BCM5325.patch b/target/linux/generic/backport-6.12/612-12-v6.17-net-dsa-b53-fix-unicast-multicast-flooding-on-BCM5325.patch
index 063622398a..6b9c86ed0c 100644
--- a/target/linux/generic/backport-6.12/612-12-v6.17-net-dsa-b53-fix-unicast-multicast-flooding-on-BCM5325.patch
+++ b/target/linux/generic/backport-6.12/612-12-v6.17-net-dsa-b53-fix-unicast-multicast-flooding-on-BCM5325.patch
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
/* PHY Registers */
#define B53_PORT_MII_PAGE(i) (0x10 + (i)) /* Port i MII Registers */
-@@ -372,6 +373,18 @@
+@@ -371,6 +372,18 @@
#define B53_ARL_SRCH_RSTL(x) (B53_ARL_SRCH_RSTL_0 + ((x) * 0x10))
/*************************************************************************
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 3a6e0ac80a..bad53cf177 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
@@ -403,7 +403,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
};
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
-@@ -4181,7 +4181,7 @@ static struct phy_driver marvell_drivers
+@@ -4218,7 +4218,7 @@ static struct phy_driver marvell_drivers
module_phy_driver(marvell_drivers);
diff --git a/target/linux/generic/backport-6.12/780-23-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch b/target/linux/generic/backport-6.12/780-23-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch
index 815c1fcf72..9e3fd0a66e 100644
--- a/target/linux/generic/backport-6.12/780-23-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch
+++ b/target/linux/generic/backport-6.12/780-23-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch
@@ -183,7 +183,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
@@ -3742,8 +3742,8 @@ static void rtl_hw_start_8125_common(str
- r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
+ r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
- if (tp->mac_version == RTL_GIGA_MAC_VER_65 ||
diff --git a/target/linux/generic/backport-6.12/780-39-v6.16-r8169-merge-chip-versions-70-and-71-RTL8126A.patch b/target/linux/generic/backport-6.12/780-39-v6.16-r8169-merge-chip-versions-70-and-71-RTL8126A.patch
index da105f6fe3..ecc04ef6ae 100644
--- a/target/linux/generic/backport-6.12/780-39-v6.16-r8169-merge-chip-versions-70-and-71-RTL8126A.patch
+++ b/target/linux/generic/backport-6.12/780-39-v6.16-r8169-merge-chip-versions-70-and-71-RTL8126A.patch
@@ -69,7 +69,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
@@ -3714,8 +3710,7 @@ static void rtl_hw_start_8125_common(str
- r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
+ r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
- if (tp->mac_version == RTL_GIGA_MAC_VER_70 ||
diff --git a/target/linux/generic/backport-6.12/780-42-v6.16-r8169-add-support-for-RTL8127A.patch b/target/linux/generic/backport-6.12/780-42-v6.16-r8169-add-support-for-RTL8127A.patch
index 37a2d8667e..5ed1f341ec 100644
--- a/target/linux/generic/backport-6.12/780-42-v6.16-r8169-add-support-for-RTL8127A.patch
+++ b/target/linux/generic/backport-6.12/780-42-v6.16-r8169-add-support-for-RTL8127A.patch
@@ -97,7 +97,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
@@ -3708,7 +3720,8 @@ static void rtl_hw_start_8125_common(str
- r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
+ r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0000);
r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
- if (tp->mac_version == RTL_GIGA_MAC_VER_70)
diff --git a/target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch b/target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch
index 82a23e6e44..7f79e041df 100644
--- a/target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch
+++ b/target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch
@@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
-@@ -1153,8 +1153,9 @@ static void page_pool_release_retry(stru
+@@ -1155,8 +1155,9 @@ static void page_pool_release_retry(stru
{
struct delayed_work *dwq = to_delayed_work(wq);
struct page_pool *pool = container_of(dwq, typeof(*pool), release_dw);
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
inflight = page_pool_release(pool);
/* In rare cases, a driver bug may cause inflight to go negative.
-@@ -1166,6 +1167,21 @@ static void page_pool_release_retry(stru
+@@ -1168,6 +1169,21 @@ static void page_pool_release_retry(stru
if (inflight <= 0)
return;
diff --git a/target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch
index 099bd428eb..eff038fbd0 100644
--- a/target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch
+++ b/target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch
@@ -10,7 +10,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
-@@ -1076,6 +1076,11 @@ static const struct usb_device_id produc
+@@ -1082,6 +1082,11 @@ static const struct usb_device_id produc
USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
.driver_info = (unsigned long)&qmi_wwan_info,
},
@@ -22,7 +22,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0122)}, /* Quectel RG650V */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)}, /* Quectel EC25, EC20 R2.0 Mini PCIe */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)}, /* Quectel EP06/EG06/EM06 */
-@@ -1083,6 +1088,7 @@ static const struct usb_device_id produc
+@@ -1089,6 +1094,7 @@ static const struct usb_device_id produc
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */
{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */
diff --git a/target/linux/generic/hack-6.12/902-debloat_proc.patch b/target/linux/generic/hack-6.12/902-debloat_proc.patch
index b46b821aff..cd7241e6af 100644
--- a/target/linux/generic/hack-6.12/902-debloat_proc.patch
+++ b/target/linux/generic/hack-6.12/902-debloat_proc.patch
@@ -331,7 +331,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -4277,6 +4277,8 @@ static __net_initdata struct pernet_oper
+@@ -4280,6 +4280,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
{
diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12
index 3abf72c3ac..920ea0645e 100644
--- a/target/linux/generic/kernel-6.12
+++ b/target/linux/generic/kernel-6.12
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .57
-LINUX_KERNEL_HASH-6.12.57 = 165ca1c37c4607b90e731996b7c1e3311285167d13deeedf08f3f1f0b9d2541a
+LINUX_VERSION-6.12 = .58
+LINUX_KERNEL_HASH-6.12.58 = 5f1c4c546660a6a81046fdfa6195306bad2c8d17c0d69876dc100a85ad4613ac
diff --git a/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch b/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
index 81f30b4a8c..66926bd5fb 100644
--- a/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
+++ b/target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
if (sk_can_gso(sk)) {
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -2021,7 +2021,7 @@ void ieee80211_color_collision_detection
+@@ -2023,7 +2023,7 @@ void ieee80211_color_collision_detection
/* interface handling */
#define MAC80211_SUPPORTED_FEATURES_TX (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | \
NETIF_F_HW_CSUM | NETIF_F_SG | \
diff --git a/target/linux/generic/pending-6.12/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch b/target/linux/generic/pending-6.12/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
index 7842889a98..2f90df6013 100644
--- a/target/linux/generic/pending-6.12/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
+++ b/target/linux/generic/pending-6.12/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
@@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
-@@ -201,6 +201,7 @@ void br_flood(struct net_bridge *br, str
+@@ -202,6 +202,7 @@ void br_flood(struct net_bridge *br, str
enum br_pkt_type pkt_type, bool local_rcv, bool local_orig,
u16 vid)
{
@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
struct net_bridge_port *prev = NULL;
struct net_bridge_port *p;
-@@ -218,6 +219,10 @@ void br_flood(struct net_bridge *br, str
+@@ -219,6 +220,10 @@ void br_flood(struct net_bridge *br, str
case BR_PKT_MULTICAST:
if (!(p->flags & BR_MCAST_FLOOD) && skb->dev != br->dev)
continue;
diff --git a/target/linux/generic/pending-6.12/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch b/target/linux/generic/pending-6.12/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch
index 7a25825537..042afdc391 100644
--- a/target/linux/generic/pending-6.12/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch
+++ b/target/linux/generic/pending-6.12/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch
@@ -74,7 +74,7 @@ Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
}
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
-@@ -1119,8 +1119,8 @@ out:
+@@ -1122,8 +1122,8 @@ out:
}
int ufshcd_opp_config_clks(struct device *dev, struct opp_table *opp_table,
@@ -121,7 +121,7 @@ Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
}
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
-@@ -1326,8 +1326,8 @@ void ufshcd_mcq_enable(struct ufs_hba *h
+@@ -1333,8 +1333,8 @@ void ufshcd_mcq_enable(struct ufs_hba *h
void ufshcd_mcq_config_esi(struct ufs_hba *hba, struct msi_msg *msg);
int ufshcd_opp_config_clks(struct device *dev, struct opp_table *opp_table,
diff --git a/target/linux/generic/pending-6.12/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-6.12/810-pci_disable_common_quirks.patch
index 559348332f..89dcbc2786 100644
--- a/target/linux/generic/pending-6.12/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/pending-6.12/810-pci_disable_common_quirks.patch
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
/*
* The Mellanox Tavor device gives false positive parity errors. Disable
* parity error reporting.
-@@ -3508,6 +3509,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3509,6 +3510,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
@@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
* To work around this, query the size it should be configured to by the
-@@ -3533,6 +3536,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3534,6 +3537,8 @@ static void quirk_intel_ntb(struct pci_d
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
@@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
* though no one is handling them (e.g., if the i915 driver is never
-@@ -3571,6 +3576,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3572,6 +3577,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
diff --git a/target/linux/imx/patches-6.12/506-6.16-PCI-imx6-Skip-link-up-workaround-for-newer-platforms.patch b/target/linux/imx/patches-6.12/506-6.16-PCI-imx6-Skip-link-up-workaround-for-newer-platforms.patch
index cc92d0a665..c13596f302 100644
--- a/target/linux/imx/patches-6.12/506-6.16-PCI-imx6-Skip-link-up-workaround-for-newer-platforms.patch
+++ b/target/linux/imx/patches-6.12/506-6.16-PCI-imx6-Skip-link-up-workaround-for-newer-platforms.patch
@@ -72,7 +72,7 @@ Link: https://patch.msgid.link/20250416081314.3929794-2-hongxing.zhu@nxp.com
}
/* Make sure link training is finished as well! */
-@@ -1546,7 +1540,7 @@ static const struct imx_pcie_drvdata drv
+@@ -1550,7 +1544,7 @@ static const struct imx_pcie_drvdata drv
[IMX6Q] = {
.variant = IMX6Q,
.flags = IMX_PCIE_FLAG_IMX_PHY |
@@ -81,7 +81,7 @@ Link: https://patch.msgid.link/20250416081314.3929794-2-hongxing.zhu@nxp.com
IMX_PCIE_FLAG_BROKEN_SUSPEND |
IMX_PCIE_FLAG_SUPPORTS_SUSPEND,
.dbi_length = 0x200,
-@@ -1564,7 +1558,7 @@ static const struct imx_pcie_drvdata drv
+@@ -1568,7 +1562,7 @@ static const struct imx_pcie_drvdata drv
[IMX6SX] = {
.variant = IMX6SX,
.flags = IMX_PCIE_FLAG_IMX_PHY |
@@ -90,7 +90,7 @@ Link: https://patch.msgid.link/20250416081314.3929794-2-hongxing.zhu@nxp.com
IMX_PCIE_FLAG_SUPPORTS_SUSPEND,
.gpr = "fsl,imx6q-iomuxc-gpr",
.clk_names = imx6sx_clks,
-@@ -1580,7 +1574,7 @@ static const struct imx_pcie_drvdata drv
+@@ -1584,7 +1578,7 @@ static const struct imx_pcie_drvdata drv
[IMX6QP] = {
.variant = IMX6QP,
.flags = IMX_PCIE_FLAG_IMX_PHY |
diff --git a/target/linux/ipq40xx/patches-6.12/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch b/target/linux/ipq40xx/patches-6.12/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
index 737da1e2fe..dc3faee799 100644
--- a/target/linux/ipq40xx/patches-6.12/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
+++ b/target/linux/ipq40xx/patches-6.12/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
@@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robert.marko at sartura.hr>
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
-@@ -2383,7 +2383,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
+@@ -2398,7 +2398,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
static const struct sdhci_ops sdhci_msm_ops = {
.reset = sdhci_and_cqhci_reset,
diff --git a/target/linux/ipq40xx/patches-6.12/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch b/target/linux/ipq40xx/patches-6.12/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch
index 6e0f35b6fc..8a81756d67 100644
--- a/target/linux/ipq40xx/patches-6.12/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch
+++ b/target/linux/ipq40xx/patches-6.12/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch
@@ -13,7 +13,7 @@ Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
-@@ -1818,49 +1818,49 @@ static unsigned int sdhci_msm_get_min_cl
+@@ -1833,49 +1833,49 @@ static unsigned int sdhci_msm_get_min_cl
return SDHCI_MSM_MIN_CLOCK;
}
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube.dtsi
index aa25a611c7..8c75f4ad43 100644
--- a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube.dtsi
+++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube.dtsi
@@ -141,7 +141,7 @@
interrupts = <126 127 128 129 130 131>;
};
- gpios: stp at e100bb0 {
+ stp0: gpio at e100bb0 {
#gpio-cells = <2>;
compatible = "lantiq,gpio-stp-xway";
gpio-controller;
diff --git a/target/linux/mvebu/patches-6.12/350-drivers-thermal-step_wise-add-support-for-hysteresis.patch b/target/linux/mvebu/patches-6.12/350-drivers-thermal-step_wise-add-support-for-hysteresis.patch
index b0db0450f1..d98e585db5 100644
--- a/target/linux/mvebu/patches-6.12/350-drivers-thermal-step_wise-add-support-for-hysteresis.patch
+++ b/target/linux/mvebu/patches-6.12/350-drivers-thermal-step_wise-add-support-for-hysteresis.patch
@@ -24,7 +24,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
--- a/drivers/thermal/gov_step_wise.c
+++ b/drivers/thermal/gov_step_wise.c
-@@ -74,19 +74,28 @@ static void thermal_zone_trip_update(str
+@@ -87,19 +87,28 @@ static void thermal_zone_trip_update(str
int trip_id = thermal_zone_trip_id(tz, trip);
struct thermal_instance *instance;
bool throttle = false;
diff --git a/target/linux/qualcommax/patches-6.12/0151-arm64-qcom-ipq6018-nss_port5.patch b/target/linux/qualcommax/patches-6.12/0151-arm64-qcom-ipq6018-nss_port5.patch
deleted file mode 100644
index 9e4372a878..0000000000
--- a/target/linux/qualcommax/patches-6.12/0151-arm64-qcom-ipq6018-nss_port5.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 9989fcd49c52500a2bf1f6d49411690dec45d2dc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= <marko.makela at iki.fi>
-Date: Sat, 2 Aug 2025 12:47:08 +0300
-Subject: [PATCH] clk: qcom: gcc-ipq6018: rework nss_port5 clock to multiple
- conf
-
-Rework nss_port5 to use the new multiple configuration implementation
-and correctly fix the clocks for this port under some corner case.
-
-In OpenWrt, this patch avoids intermittent dmesg errors of the form
-nss_port5_rx_clk_src: rcg didn't update its configuration.
-
-This is a mechanical, straightforward port of
-commit e88f03230dc07aa3293b6aeb078bd27370bb2594
-("clk: qcom: gcc-ipq8074: rework nss_port5/6 clock to multiple conf")
-to gcc-ipq6018, with two conflicts resolved: different frequency of the
-P_XO clock source, and only 5 Ethernet ports.
-
-This was originally developed by JiaY-shi <shi05275 at 163.com>.
-
-Link: https://lore.kernel.org/all/20231220221724.3822-4-ansuelsmth@gmail.com/
-Signed-off-by: Marko Mäkelä <marko.makela at iki.fi>
-Tested-by: Marko Mäkelä <marko.makela at iki.fi>
----
- drivers/clk/qcom/gcc-ipq6018.c | 60 +++++++++++++++++++++-------------
- 1 file changed, 38 insertions(+), 22 deletions(-)
-
---- a/drivers/clk/qcom/gcc-ipq6018.c
-+++ b/drivers/clk/qcom/gcc-ipq6018.c
-@@ -511,15 +511,23 @@ static struct clk_rcg2 apss_ahb_clk_src
- },
- };
-
--static const struct freq_tbl ftbl_nss_port5_rx_clk_src[] = {
-- F(24000000, P_XO, 1, 0, 0),
-- F(25000000, P_UNIPHY1_RX, 12.5, 0, 0),
-- F(25000000, P_UNIPHY0_RX, 5, 0, 0),
-- F(78125000, P_UNIPHY1_RX, 4, 0, 0),
-- F(125000000, P_UNIPHY1_RX, 2.5, 0, 0),
-- F(125000000, P_UNIPHY0_RX, 1, 0, 0),
-- F(156250000, P_UNIPHY1_RX, 2, 0, 0),
-- F(312500000, P_UNIPHY1_RX, 1, 0, 0),
-+static const struct freq_conf ftbl_nss_port5_rx_clk_src_25[] = {
-+ C(P_UNIPHY1_RX, 12.5, 0, 0),
-+ C(P_UNIPHY0_RX, 5, 0, 0),
-+};
-+
-+static const struct freq_conf ftbl_nss_port5_rx_clk_src_125[] = {
-+ C(P_UNIPHY1_RX, 2.5, 0, 0),
-+ C(P_UNIPHY0_RX, 1, 0, 0),
-+};
-+
-+static const struct freq_multi_tbl ftbl_nss_port5_rx_clk_src[] = {
-+ FMS(24000000, P_XO, 1, 0, 0),
-+ FM(25000000, ftbl_nss_port5_rx_clk_src_25),
-+ FMS(78125000, P_UNIPHY1_RX, 4, 0, 0),
-+ FM(125000000, ftbl_nss_port5_rx_clk_src_125),
-+ FMS(156250000, P_UNIPHY1_RX, 2, 0, 0),
-+ FMS(312500000, P_UNIPHY1_RX, 1, 0, 0),
- { }
- };
-
-@@ -547,26 +555,34 @@ gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32
-
- static struct clk_rcg2 nss_port5_rx_clk_src = {
- .cmd_rcgr = 0x68060,
-- .freq_tbl = ftbl_nss_port5_rx_clk_src,
-+ .freq_multi_tbl = ftbl_nss_port5_rx_clk_src,
- .hid_width = 5,
- .parent_map = gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias_map,
- .clkr.hw.init = &(struct clk_init_data){
- .name = "nss_port5_rx_clk_src",
- .parent_data = gcc_xo_uniphy0_rx_tx_uniphy1_rx_tx_ubi32_bias,
- .num_parents = 7,
-- .ops = &clk_rcg2_ops,
-+ .ops = &clk_rcg2_fm_ops,
- },
- };
-
--static const struct freq_tbl ftbl_nss_port5_tx_clk_src[] = {
-- F(24000000, P_XO, 1, 0, 0),
-- F(25000000, P_UNIPHY1_TX, 12.5, 0, 0),
-- F(25000000, P_UNIPHY0_TX, 5, 0, 0),
-- F(78125000, P_UNIPHY1_TX, 4, 0, 0),
-- F(125000000, P_UNIPHY1_TX, 2.5, 0, 0),
-- F(125000000, P_UNIPHY0_TX, 1, 0, 0),
-- F(156250000, P_UNIPHY1_TX, 2, 0, 0),
-- F(312500000, P_UNIPHY1_TX, 1, 0, 0),
-+static const struct freq_conf ftbl_nss_port5_tx_clk_src_25[] = {
-+ C(P_UNIPHY1_TX, 12.5, 0, 0),
-+ C(P_UNIPHY0_TX, 5, 0, 0),
-+};
-+
-+static const struct freq_conf ftbl_nss_port5_tx_clk_src_125[] = {
-+ C(P_UNIPHY1_TX, 2.5, 0, 0),
-+ C(P_UNIPHY0_TX, 1, 0, 0),
-+};
-+
-+static const struct freq_multi_tbl ftbl_nss_port5_tx_clk_src[] = {
-+ FMS(24000000, P_XO, 1, 0, 0),
-+ FM(25000000, ftbl_nss_port5_tx_clk_src_25),
-+ FMS(78125000, P_UNIPHY1_TX, 4, 0, 0),
-+ FM(125000000, ftbl_nss_port5_tx_clk_src_125),
-+ FMS(156250000, P_UNIPHY1_TX, 2, 0, 0),
-+ FMS(312500000, P_UNIPHY1_TX, 1, 0, 0),
- { }
- };
-
-@@ -594,14 +610,14 @@ gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32
-
- static struct clk_rcg2 nss_port5_tx_clk_src = {
- .cmd_rcgr = 0x68068,
-- .freq_tbl = ftbl_nss_port5_tx_clk_src,
-+ .freq_multi_tbl = ftbl_nss_port5_tx_clk_src,
- .hid_width = 5,
- .parent_map = gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias_map,
- .clkr.hw.init = &(struct clk_init_data){
- .name = "nss_port5_tx_clk_src",
- .parent_data = gcc_xo_uniphy0_tx_rx_uniphy1_tx_rx_ubi32_bias,
- .num_parents = 7,
-- .ops = &clk_rcg2_ops,
-+ .ops = &clk_rcg2_fm_ops,
- },
- };
-
diff --git a/target/linux/qualcommax/patches-6.12/0804-remoteproc-qcom-q6v5-Add-multipd-interrupts-support.patch b/target/linux/qualcommax/patches-6.12/0804-remoteproc-qcom-q6v5-Add-multipd-interrupts-support.patch
index 0238ba828a..1dae38aeaa 100644
--- a/target/linux/qualcommax/patches-6.12/0804-remoteproc-qcom-q6v5-Add-multipd-interrupts-support.patch
+++ b/target/linux/qualcommax/patches-6.12/0804-remoteproc-qcom-q6v5-Add-multipd-interrupts-support.patch
@@ -47,7 +47,7 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
/**
* qcom_q6v5_wait_for_start() - wait for remote processor start signal
-@@ -174,7 +176,17 @@ static irqreturn_t q6v5_handover_interru
+@@ -179,7 +181,17 @@ static irqreturn_t q6v5_handover_interru
return IRQ_HANDLED;
}
@@ -66,7 +66,7 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
{
struct qcom_q6v5 *q6v5 = data;
-@@ -182,6 +194,7 @@ static irqreturn_t q6v5_stop_interrupt(i
+@@ -187,6 +199,7 @@ static irqreturn_t q6v5_stop_interrupt(i
return IRQ_HANDLED;
}
@@ -74,7 +74,7 @@ Signed-off-by: Manikanta Mylavarapu <quic_mmanikan at quicinc.com>
/**
* qcom_q6v5_request_stop() - request the remote processor to stop
-@@ -212,6 +225,28 @@ int qcom_q6v5_request_stop(struct qcom_q
+@@ -217,6 +230,28 @@ int qcom_q6v5_request_stop(struct qcom_q
EXPORT_SYMBOL_GPL(qcom_q6v5_request_stop);
/**
diff --git a/target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch
index d042d33c2c..56f837b5c3 100644
--- a/target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch
+++ b/target/linux/ramips/patches-6.12/810-uvc-add-iPassion-iP2970-support.patch
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3216,6 +3216,18 @@ static const struct usb_device_id uvc_id
+@@ -3229,6 +3229,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
diff --git a/target/linux/realtek/patches-6.12/020-01-v6.18-timer-rtl-otto-work-around-dying-timers.patch b/target/linux/realtek/patches-6.12/020-01-v6.18-timer-rtl-otto-work-around-dying-timers.patch
deleted file mode 100644
index 19bbc384a2..0000000000
--- a/target/linux/realtek/patches-6.12/020-01-v6.18-timer-rtl-otto-work-around-dying-timers.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 9f146b3e0b9e098cf36ebe42b4aa69270113c6bf Mon Sep 17 00:00:00 2001
-From: Markus Stockhausen <markus.stockhausen at gmx.de>
-Date: Mon, 4 Aug 2025 04:03:25 -0400
-Subject: clocksource/drivers/timer-rtl-otto: Work around dying timers
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The OpenWrt distribution has switched from kernel longterm 6.6 to
-6.12. Reports show that devices with the Realtek Otto switch platform
-die during operation and are rebooted by the watchdog. Sorting out
-other possible reasons the Otto timer is to blame. The platform
-currently consists of 4 targets with different hardware revisions.
-It is not 100% clear which devices and revisions are affected.
-
-Analysis shows:
-
-A more aggressive sched/deadline handling leads to more timer starts
-with small intervals. This increases the bug chances. See
-https://marc.info/?l=linux-kernel&m=175276556023276&w=2
-
-Focusing on the real issue a hardware limitation on some devices was
-found. There is a minimal chance that a timer ends without firing an
-interrupt if it is reprogrammed within the 5us before its expiration
-time. Work around this issue by introducing a bounce() function. It
-restarts the timer directly before the normal restart functions as
-follows:
-
-- Stop timer
-- Restart timer with a slow frequency.
-- Target time will be >5us
-- The subsequent normal restart is outside the critical window
-
-Downstream has already tested and confirmed a patch. See
-https://github.com/openwrt/openwrt/pull/19468
-https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875/3788
-
-Tested-by: Stephen Howell <howels at allthatwemight.be>
-Tested-by: Bjørn Mork <bjorn at mork.no>
-Signed-off-by: Markus Stockhausen <markus.stockhausen at gmx.de>
-Link: https://lore.kernel.org/r/20250804080328.2609287-2-markus.stockhausen@gmx.de
-Signed-off-by: Daniel Lezcano <daniel.lezcano at linaro.org>
----
- drivers/clocksource/timer-rtl-otto.c | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
---- a/drivers/clocksource/timer-rtl-otto.c
-+++ b/drivers/clocksource/timer-rtl-otto.c
-@@ -38,6 +38,7 @@
- #define RTTM_BIT_COUNT 28
- #define RTTM_MIN_DELTA 8
- #define RTTM_MAX_DELTA CLOCKSOURCE_MASK(28)
-+#define RTTM_MAX_DIVISOR GENMASK(15, 0)
-
- /*
- * Timers are derived from the LXB clock frequency. Usually this is a fixed
-@@ -112,6 +113,22 @@ static irqreturn_t rttm_timer_interrupt(
- return IRQ_HANDLED;
- }
-
-+static void rttm_bounce_timer(void __iomem *base, u32 mode)
-+{
-+ /*
-+ * When a running timer has less than ~5us left, a stop/start sequence
-+ * might fail. While the details are unknown the most evident effect is
-+ * that the subsequent interrupt will not be fired.
-+ *
-+ * As a workaround issue an intermediate restart with a very slow
-+ * frequency of ~3kHz keeping the target counter (>=8). So the follow
-+ * up restart will always be issued outside the critical window.
-+ */
-+
-+ rttm_disable_timer(base);
-+ rttm_enable_timer(base, mode, RTTM_MAX_DIVISOR);
-+}
-+
- static void rttm_stop_timer(void __iomem *base)
- {
- rttm_disable_timer(base);
-@@ -129,6 +146,7 @@ static int rttm_next_event(unsigned long
- struct timer_of *to = to_timer_of(clkevt);
-
- RTTM_DEBUG(to->of_base.base);
-+ rttm_bounce_timer(to->of_base.base, RTTM_CTRL_COUNTER);
- rttm_stop_timer(to->of_base.base);
- rttm_set_period(to->of_base.base, delta);
- rttm_start_timer(to, RTTM_CTRL_COUNTER);
-@@ -141,6 +159,7 @@ static int rttm_state_oneshot(struct clo
- struct timer_of *to = to_timer_of(clkevt);
-
- RTTM_DEBUG(to->of_base.base);
-+ rttm_bounce_timer(to->of_base.base, RTTM_CTRL_COUNTER);
- rttm_stop_timer(to->of_base.base);
- rttm_set_period(to->of_base.base, RTTM_TICKS_PER_SEC / HZ);
- rttm_start_timer(to, RTTM_CTRL_COUNTER);
-@@ -153,6 +172,7 @@ static int rttm_state_periodic(struct cl
- struct timer_of *to = to_timer_of(clkevt);
-
- RTTM_DEBUG(to->of_base.base);
-+ rttm_bounce_timer(to->of_base.base, RTTM_CTRL_TIMER);
- rttm_stop_timer(to->of_base.base);
- rttm_set_period(to->of_base.base, RTTM_TICKS_PER_SEC / HZ);
- rttm_start_timer(to, RTTM_CTRL_TIMER);
diff --git a/target/linux/realtek/patches-6.12/020-03-v6.18-timer-rtl-otto-do-not-interfere-with-interrupts.patch b/target/linux/realtek/patches-6.12/020-03-v6.18-timer-rtl-otto-do-not-interfere-with-interrupts.patch
deleted file mode 100644
index c806a217ab..0000000000
--- a/target/linux/realtek/patches-6.12/020-03-v6.18-timer-rtl-otto-do-not-interfere-with-interrupts.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From add0d895aa6f66320f9b1d901b66259f4308af04 Mon Sep 17 00:00:00 2001
-From: Markus Stockhausen <markus.stockhausen at gmx.de>
-Date: Mon, 4 Aug 2025 04:03:27 -0400
-Subject: clocksource/drivers/timer-rtl-otto: Do not interfere with interrupts
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-During normal operation the timers are reprogrammed including an
-interrupt acknowledgement. This has no effect as the whole timer
-is setup from scratch afterwards. Especially in an interrupt this
-has already been done by rttm_timer_interrupt().
-
-Change the behaviour as follows:
-
-- Use rttm_disable_timer() during reprogramming
-- Keep rttm_stop_timer() for all other use cases.
-
-Downstream has already tested and confirmed a patch. See
-https://github.com/openwrt/openwrt/pull/19468
-https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875/3788
-
-Tested-by: Stephen Howell <howels at allthatwemight.be>
-Tested-by: Bjørn Mork <bjorn at mork.no>
-Signed-off-by: Markus Stockhausen <markus.stockhausen at gmx.de>
-Link: https://lore.kernel.org/r/20250804080328.2609287-4-markus.stockhausen@gmx.de
-Signed-off-by: Daniel Lezcano <daniel.lezcano at linaro.org>
----
- drivers/clocksource/timer-rtl-otto.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/clocksource/timer-rtl-otto.c
-+++ b/drivers/clocksource/timer-rtl-otto.c
-@@ -141,7 +141,7 @@ static int rttm_next_event(unsigned long
-
- RTTM_DEBUG(to->of_base.base);
- rttm_bounce_timer(to->of_base.base, RTTM_CTRL_COUNTER);
-- rttm_stop_timer(to->of_base.base);
-+ rttm_disable_timer(to->of_base.base);
- rttm_set_period(to->of_base.base, delta);
- rttm_start_timer(to, RTTM_CTRL_COUNTER);
-
-@@ -154,7 +154,7 @@ static int rttm_state_oneshot(struct clo
-
- RTTM_DEBUG(to->of_base.base);
- rttm_bounce_timer(to->of_base.base, RTTM_CTRL_COUNTER);
-- rttm_stop_timer(to->of_base.base);
-+ rttm_disable_timer(to->of_base.base);
- rttm_set_period(to->of_base.base, RTTM_TICKS_PER_SEC / HZ);
- rttm_start_timer(to, RTTM_CTRL_COUNTER);
-
-@@ -167,7 +167,7 @@ static int rttm_state_periodic(struct cl
-
- RTTM_DEBUG(to->of_base.base);
- rttm_bounce_timer(to->of_base.base, RTTM_CTRL_TIMER);
-- rttm_stop_timer(to->of_base.base);
-+ rttm_disable_timer(to->of_base.base);
- rttm_set_period(to->of_base.base, RTTM_TICKS_PER_SEC / HZ);
- rttm_start_timer(to, RTTM_CTRL_TIMER);
-
diff --git a/target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch b/target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch
index f7419f61be..7b96a42ca6 100644
--- a/target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch
+++ b/target/linux/rockchip/patches-6.12/037-01-v6.15-scsi-ufs-core-Export-ufshcd_dme_reset-and.patch
@@ -19,7 +19,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
-@@ -4043,7 +4043,7 @@ static int ufshcd_dme_link_startup(struc
+@@ -4046,7 +4046,7 @@ static int ufshcd_dme_link_startup(struc
*
* Return: 0 on success, non-zero value on failure.
*/
@@ -28,7 +28,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
{
struct uic_command uic_cmd = {
.command = UIC_CMD_DME_RESET,
-@@ -4057,6 +4057,7 @@ static int ufshcd_dme_reset(struct ufs_h
+@@ -4060,6 +4060,7 @@ static int ufshcd_dme_reset(struct ufs_h
return ret;
}
@@ -36,7 +36,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
int ufshcd_dme_configure_adapt(struct ufs_hba *hba,
int agreed_gear,
-@@ -4082,7 +4083,7 @@ EXPORT_SYMBOL_GPL(ufshcd_dme_configure_a
+@@ -4085,7 +4086,7 @@ EXPORT_SYMBOL_GPL(ufshcd_dme_configure_a
*
* Return: 0 on success, non-zero value on failure.
*/
@@ -45,7 +45,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
{
struct uic_command uic_cmd = {
.command = UIC_CMD_DME_ENABLE,
-@@ -4096,6 +4097,7 @@ static int ufshcd_dme_enable(struct ufs_
+@@ -4099,6 +4100,7 @@ static int ufshcd_dme_enable(struct ufs_
return ret;
}
@@ -55,7 +55,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
{
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
-@@ -1361,6 +1361,8 @@ extern int ufshcd_system_thaw(struct dev
+@@ -1368,6 +1368,8 @@ extern int ufshcd_system_thaw(struct dev
extern int ufshcd_system_restore(struct device *dev);
#endif
diff --git a/target/linux/starfive/patches-6.12/0017-plic-irq-Set-IRQCHIP_EOI_THREADED-in-PREEMPT_RT-case.patch b/target/linux/starfive/patches-6.12/0017-plic-irq-Set-IRQCHIP_EOI_THREADED-in-PREEMPT_RT-case.patch
index edfc554983..61491c57a2 100644
--- a/target/linux/starfive/patches-6.12/0017-plic-irq-Set-IRQCHIP_EOI_THREADED-in-PREEMPT_RT-case.patch
+++ b/target/linux/starfive/patches-6.12/0017-plic-irq-Set-IRQCHIP_EOI_THREADED-in-PREEMPT_RT-case.patch
@@ -17,7 +17,7 @@ Signed-off-by: Minda Chen <minda.chen at starfivetech.com>
--- a/drivers/irqchip/irq-sifive-plic.c
+++ b/drivers/irqchip/irq-sifive-plic.c
-@@ -202,6 +202,9 @@ static struct irq_chip plic_edge_chip =
+@@ -204,6 +204,9 @@ static struct irq_chip plic_edge_chip =
#endif
.irq_set_type = plic_irq_set_type,
.flags = IRQCHIP_SKIP_SET_WAKE |
@@ -27,7 +27,7 @@ Signed-off-by: Minda Chen <minda.chen at starfivetech.com>
IRQCHIP_AFFINITY_PRE_STARTUP,
};
-@@ -217,6 +220,9 @@ static struct irq_chip plic_chip = {
+@@ -219,6 +222,9 @@ static struct irq_chip plic_chip = {
#endif
.irq_set_type = plic_irq_set_type,
.flags = IRQCHIP_SKIP_SET_WAKE |
More information about the lede-commits
mailing list