summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShiji Yang2026-06-19 13:50:12 +0000
committerHauke Mehrtens2026-06-24 23:37:12 +0000
commit6bad5f205030b2c2636491f4eaf36c22f14a5d9b (patch)
tree0c01cc50cb4692fd8334c4aafc1ef8fd1b045f9e
parentba5b20a5a00a2a50c47aeaa03ef703a2329c9166 (diff)
downloadopenwrt-6bad5f205030b2c2636491f4eaf36c22f14a5d9b.tar.gz
kernel: bump 6.12 to 6.12.94
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.94 New kconfig symbols: - ARM64_ERRATUM_4118414: enabled on ARM Cortex-A76 and newer targets. - ARM64_ERRATUM_4193714: enabled on ARM C1-Pro and newer targets. All patches are automatically refreshed. Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/23886 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> (cherry picked from commit 8eb0fd0ed5a435df515b74ff71d2e3e54aefc742) [Refreshed on top of OpenWrt 25.12] Link: https://github.com/openwrt/openwrt/pull/23928 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch2
-rw-r--r--target/linux/armsr/armv8/config-6.122
-rw-r--r--target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch4
-rw-r--r--target/linux/bcm27xx/bcm2712/config-6.121
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0434-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0437-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0440-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch4
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0588-drm-vc4-Make-v3d-paths-unavailable-on-any-generation.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0777-drm-v3d-Remove-v3d-cpu_job.patch2
-rw-r--r--target/linux/generic/backport-6.12/601-11-v6.14-net-mvpp2-implement-pcs_inband_caps-method.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/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch2
-rw-r--r--target/linux/generic/config-6.122
-rw-r--r--target/linux/generic/hack-6.12/780-usb-net-MeigLink_modem_support.patch6
-rw-r--r--target/linux/generic/hack-6.12/901-debloat_sock_diag.patch2
-rw-r--r--target/linux/generic/hack-6.12/902-debloat_proc.patch2
-rw-r--r--target/linux/generic/kernel-6.124
-rw-r--r--target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch2
-rw-r--r--target/linux/generic/pending-6.12/610-netfilter_match_bypass_default_checks.patch14
-rw-r--r--target/linux/generic/pending-6.12/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch2
-rw-r--r--target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch2
-rw-r--r--target/linux/microchipsw/patches-6.12/0099-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch58
-rw-r--r--target/linux/mvebu/patches-6.12/701-mvpp2-read-mac-address-from-nvmem.patch2
-rw-r--r--target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch2
-rw-r--r--target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch4
29 files changed, 43 insertions, 98 deletions
diff --git a/target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch b/target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch
index 0c273f000f..a839f4d240 100644
--- a/target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch
+++ b/target/linux/airoha/patches-6.12/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch
@@ -107,7 +107,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
module_phy_driver(as21xxx_drivers);
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -2069,7 +2069,8 @@ void phy_detach(struct phy_device *phyde
+@@ -2072,7 +2072,8 @@ void phy_detach(struct phy_device *phyde
device_release_driver(&phydev->mdio.dev);
/* Assert the reset signal */
diff --git a/target/linux/armsr/armv8/config-6.12 b/target/linux/armsr/armv8/config-6.12
index 43bac8019e..6377078c8d 100644
--- a/target/linux/armsr/armv8/config-6.12
+++ b/target/linux/armsr/armv8/config-6.12
@@ -83,6 +83,8 @@ CONFIG_ARM64_ERRATUM_2441007=y
CONFIG_ARM64_ERRATUM_2441009=y
CONFIG_ARM64_ERRATUM_2457168=y
CONFIG_ARM64_ERRATUM_2658417=y
+CONFIG_ARM64_ERRATUM_4118414=y
+CONFIG_ARM64_ERRATUM_4193714=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_826319=y
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 e26aaebab3..71ecaa9ce1 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
@@ -259,7 +259,7 @@ SVN-Revision: 35130
#include <linux/uaccess.h>
#include <linux/ipv6.h>
#include <linux/icmpv6.h>
-@@ -915,10 +916,10 @@ static void tcp_v6_send_response(const s
+@@ -912,10 +913,10 @@ static void tcp_v6_send_response(const s
topt = (__be32 *)(t1 + 1);
if (tsecr) {
@@ -701,7 +701,7 @@ SVN-Revision: 35130
+#include <linux/in6.h>
struct net;
-
+ extern struct net init_net;
--- a/include/uapi/linux/in.h
+++ b/include/uapi/linux/in.h
@@ -93,7 +93,7 @@ enum {
diff --git a/target/linux/bcm27xx/bcm2712/config-6.12 b/target/linux/bcm27xx/bcm2712/config-6.12
index 0e1bf4c47e..fa3fe767ab 100644
--- a/target/linux/bcm27xx/bcm2712/config-6.12
+++ b/target/linux/bcm27xx/bcm2712/config-6.12
@@ -30,6 +30,7 @@ CONFIG_ARM64_ERRATUM_1165522=y
CONFIG_ARM64_ERRATUM_1286807=y
CONFIG_ARM64_ERRATUM_1463225=y
CONFIG_ARM64_ERRATUM_3194386=y
+CONFIG_ARM64_ERRATUM_4118414=y
CONFIG_ARM64_HW_AFDBM=y
CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
CONFIG_ARM64_PA_BITS=48
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 4e0895dc45..b50b49f2a4 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@raspberrypi.com>
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4942,6 +4942,7 @@ static const struct {
+@@ -4961,6 +4961,7 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
int ret = 0;
bool invalid_bdaddr;
size_t i;
-@@ -4970,7 +4971,8 @@ static int hci_dev_setup_sync(struct hci
+@@ -4989,7 +4990,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-0344-sdhci-Add-SD-Express-hook.patch b/target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch
index 2b695742ed..64c0bfb700 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch
@@ -51,7 +51,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
};
/*****************************************************************************\
-@@ -4572,6 +4582,15 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4573,6 +4583,15 @@ int sdhci_setup_host(struct sdhci_host *
!(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
mmc->caps |= MMC_CAP_UHS_DDR50;
diff --git a/target/linux/bcm27xx/patches-6.12/950-0434-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch b/target/linux/bcm27xx/patches-6.12/950-0434-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch
index eafdd01140..1cc5a26d0a 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0434-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0434-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch
@@ -13,7 +13,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
-@@ -1915,8 +1915,8 @@ static int mmc_init_card(struct mmc_host
+@@ -1917,8 +1917,8 @@ static int mmc_init_card(struct mmc_host
host->cqe_enabled = true;
if (card->ext_csd.cmdq_en) {
diff --git a/target/linux/bcm27xx/patches-6.12/950-0437-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch b/target/linux/bcm27xx/patches-6.12/950-0437-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
index 39c26127fb..5c6296a2b5 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0437-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0437-mmc-sdhci-extend-maximum-ADMA-transfer-length-to-4Mi.patch
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
BUG_ON(data->blksz > host->mmc->max_blk_size);
BUG_ON(data->blocks > 65535);
-@@ -4716,11 +4716,16 @@ int sdhci_setup_host(struct sdhci_host *
+@@ -4717,11 +4717,16 @@ int sdhci_setup_host(struct sdhci_host *
spin_lock_init(&host->lock);
/*
diff --git a/target/linux/bcm27xx/patches-6.12/950-0440-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch b/target/linux/bcm27xx/patches-6.12/950-0440-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch
index df94ea0ca5..995105eff6 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0440-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0440-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch
@@ -85,7 +85,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
void mmc_blk_mq_recovery(struct mmc_queue *mq)
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
-@@ -1657,6 +1657,7 @@ static int mmc_init_card(struct mmc_host
+@@ -1659,6 +1659,7 @@ static int mmc_init_card(struct mmc_host
card->ocr = ocr;
card->type = MMC_TYPE_MMC;
card->rca = 1;
@@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
memcpy(card->raw_cid, cid, sizeof(card->raw_cid));
}
-@@ -1922,6 +1923,7 @@ static int mmc_init_card(struct mmc_host
+@@ -1924,6 +1925,7 @@ static int mmc_init_card(struct mmc_host
pr_info("%s: Host Software Queue enabled\n",
mmc_hostname(host));
}
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 ee48969572..98c428e7a8 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@raspberrypi.com>
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
-@@ -4942,7 +4942,8 @@ static const struct {
+@@ -4961,7 +4961,8 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
diff --git a/target/linux/bcm27xx/patches-6.12/950-0588-drm-vc4-Make-v3d-paths-unavailable-on-any-generation.patch b/target/linux/bcm27xx/patches-6.12/950-0588-drm-vc4-Make-v3d-paths-unavailable-on-any-generation.patch
index 1c5725d7aa..5b43bbf224 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0588-drm-vc4-Make-v3d-paths-unavailable-on-any-generation.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0588-drm-vc4-Make-v3d-paths-unavailable-on-any-generation.patch
@@ -569,7 +569,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
for (i = 0; i < exec->shader_state_count; i++) {
--- a/drivers/gpu/drm/vc4/vc4_validate_shaders.c
+++ b/drivers/gpu/drm/vc4/vc4_validate_shaders.c
-@@ -786,7 +786,7 @@ vc4_validate_shader(struct drm_gem_dma_o
+@@ -787,7 +787,7 @@ vc4_validate_shader(struct drm_gem_dma_o
struct vc4_validated_shader_info *validated_shader = NULL;
struct vc4_shader_validation_state validation_state;
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 620f208543..436740ffbc 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
-@@ -663,8 +663,6 @@ v3d_cpu_job_run(struct drm_sched_job *sc
+@@ -664,8 +664,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/generic/backport-6.12/601-11-v6.14-net-mvpp2-implement-pcs_inband_caps-method.patch b/target/linux/generic/backport-6.12/601-11-v6.14-net-mvpp2-implement-pcs_inband_caps-method.patch
index 846d9df36d..c0ab7ac5e2 100644
--- a/target/linux/generic/backport-6.12/601-11-v6.14-net-mvpp2-implement-pcs_inband_caps-method.patch
+++ b/target/linux/generic/backport-6.12/601-11-v6.14-net-mvpp2-implement-pcs_inband_caps-method.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
-@@ -6237,19 +6237,26 @@ static const struct phylink_pcs_ops mvpp
+@@ -6256,19 +6256,26 @@ static const struct phylink_pcs_ops mvpp
.pcs_config = mvpp2_xlg_pcs_config,
};
@@ -51,7 +51,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
}
static void mvpp2_gmac_pcs_get_state(struct phylink_pcs *pcs,
-@@ -6356,7 +6363,7 @@ static void mvpp2_gmac_pcs_an_restart(st
+@@ -6375,7 +6382,7 @@ static void mvpp2_gmac_pcs_an_restart(st
}
static const struct phylink_pcs_ops mvpp2_phylink_gmac_pcs_ops = {
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 f54f471ab6..d09e95681e 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
@@ -458,7 +458,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
{ }
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
-@@ -5835,7 +5835,7 @@ MODULE_DESCRIPTION("Micrel PHY driver");
+@@ -5836,7 +5836,7 @@ MODULE_DESCRIPTION("Micrel PHY driver");
MODULE_AUTHOR("David J. Choi");
MODULE_LICENSE("GPL");
diff --git a/target/linux/generic/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch b/target/linux/generic/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch
index 95e8638c39..d009115686 100644
--- a/target/linux/generic/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch
+++ b/target/linux/generic/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch
@@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -3382,11 +3382,17 @@ static int of_phy_led(struct phy_device
+@@ -3385,11 +3385,17 @@ static int of_phy_led(struct phy_device
if (index > U8_MAX)
return -EINVAL;
diff --git a/target/linux/generic/config-6.12 b/target/linux/generic/config-6.12
index 26c331e52d..69a41026a5 100644
--- a/target/linux/generic/config-6.12
+++ b/target/linux/generic/config-6.12
@@ -363,6 +363,8 @@ CONFIG_ARM64_CNP=y
# CONFIG_ARM64_ERRATUM_2966298 is not set
# CONFIG_ARM64_ERRATUM_3117295 is not set
# CONFIG_ARM64_ERRATUM_3194386 is not set
+# CONFIG_ARM64_ERRATUM_4118414 is not set
+# CONFIG_ARM64_ERRATUM_4193714 is not set
# CONFIG_ARM64_ERRATUM_819472 is not set
# CONFIG_ARM64_ERRATUM_824069 is not set
# CONFIG_ARM64_ERRATUM_826319 is not set
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 eff038fbd0..feeb329ca1 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
@@ -32,7 +32,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
{QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
-@@ -247,6 +247,11 @@ static void option_instat_callback(struc
+@@ -248,6 +248,11 @@ static void option_instat_callback(struc
#define UBLOX_PRODUCT_R410M 0x90b2
/* These Yuga products use Qualcomm's vendor ID */
#define YUGA_PRODUCT_CLM920_NC5 0x9625
@@ -44,7 +44,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
-@@ -1156,6 +1161,11 @@ static const struct usb_device_id option
+@@ -1159,6 +1164,11 @@ static const struct usb_device_id option
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
.driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
@@ -56,7 +56,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
/* Quectel products using Qualcomm vendor ID */
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
-@@ -1197,6 +1207,11 @@ static const struct usb_device_id option
+@@ -1200,6 +1210,11 @@ static const struct usb_device_id option
.driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },
diff --git a/target/linux/generic/hack-6.12/901-debloat_sock_diag.patch b/target/linux/generic/hack-6.12/901-debloat_sock_diag.patch
index 17a22d0528..0091ec29bb 100644
--- a/target/linux/generic/hack-6.12/901-debloat_sock_diag.patch
+++ b/target/linux/generic/hack-6.12/901-debloat_sock_diag.patch
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *,
u32));
INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *,
-@@ -2342,9 +2359,11 @@ static void __sk_free(struct sock *sk)
+@@ -2347,9 +2364,11 @@ static void __sk_free(struct sock *sk)
if (likely(sk->sk_net_refcnt))
sock_inuse_add(sock_net(sk), -1);
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 fe45d47ec5..7beda5de63 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@nbd.name>
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -4285,6 +4285,8 @@ static __net_initdata struct pernet_oper
+@@ -4294,6 +4294,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 2c776bd716..424db9bb4e 100644
--- a/target/linux/generic/kernel-6.12
+++ b/target/linux/generic/kernel-6.12
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .93
-LINUX_KERNEL_HASH-6.12.93 = 492648a87c0b69c5ac7f43be64792b9000e3439550d4e82e4a14710c49094fa3
+LINUX_VERSION-6.12 = .94
+LINUX_KERNEL_HASH-6.12.94 = e998a232b9418db3301cb58468e291a4f41d6ab8306029b30d991f56251dc8d2
diff --git a/target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch b/target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch
index f11976b9e3..a47479b7ca 100644
--- a/target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch
+++ b/target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/Makefile
+++ b/Makefile
-@@ -593,7 +593,7 @@ export RUSTC_BOOTSTRAP := 1
+@@ -594,7 +594,7 @@ export RUSTC_BOOTSTRAP := 1
# Allows finding `.clippy.toml` in out-of-srctree builds.
export CLIPPY_CONF_DIR := $(srctree)
diff --git a/target/linux/generic/pending-6.12/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-6.12/610-netfilter_match_bypass_default_checks.patch
index fd22200a84..8c9edf3882 100644
--- a/target/linux/generic/pending-6.12/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/pending-6.12/610-netfilter_match_bypass_default_checks.patch
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
counters = alloc_counters(table);
if (IS_ERR(counters))
-@@ -844,6 +873,14 @@ copy_entries_to_user(unsigned int total_
+@@ -842,6 +871,14 @@ copy_entries_to_user(unsigned int total_
goto free_counters;
}
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
for (i = sizeof(struct ipt_entry);
i < e->target_offset;
i += m->u.match_size) {
-@@ -1225,12 +1262,15 @@ compat_copy_entry_to_user(struct ipt_ent
+@@ -1223,11 +1260,13 @@ compat_copy_entry_to_user(struct ipt_ent
compat_uint_t origsize;
const struct xt_entry_match *ematch;
int ret = 0;
@@ -99,12 +99,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
origsize = *size;
ce = *dstptr;
- if (copy_to_user(ce, e, sizeof(struct ipt_entry)) != 0 ||
- copy_to_user(&ce->counters, &counters[i],
-- sizeof(counters[i])) != 0)
-+ sizeof(counters[i])) != 0 ||
-+ copy_to_user(&ce->ip.flags, &flags,
-+ sizeof(flags)) != 0)
+ if (copy_to_user(ce, e, offsetof(struct compat_ipt_entry, counters)) ||
+- copy_to_user(&ce->counters, &counters[i], sizeof(counters[i])))
++ copy_to_user(&ce->counters, &counters[i], sizeof(counters[i])) ||
++ copy_to_user(&ce->ip.flags, &flags, sizeof(flags)) != 0)
return -EFAULT;
*dstptr += sizeof(struct compat_ipt_entry);
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 21f08fac78..800613b392 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
@@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -2557,7 +2557,7 @@ void sk_setup_caps(struct sock *sk, stru
+@@ -2562,7 +2562,7 @@ void sk_setup_caps(struct sock *sk, stru
icsk->icsk_ack.dst_quick_ack = dst_metric(dst, RTAX_QUICKACK);
}
if (sk->sk_route_caps & NETIF_F_GSO)
diff --git a/target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch
index 474470b806..5c8dbcc3fe 100644
--- a/target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch
+++ b/target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch
@@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -2035,6 +2035,9 @@ void phy_detach(struct phy_device *phyde
+@@ -2038,6 +2038,9 @@ void phy_detach(struct phy_device *phyde
phydev->devlink = NULL;
}
diff --git a/target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch b/target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch
index 2a6cf46cae..07f19b85f3 100644
--- a/target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch
+++ b/target/linux/mediatek/patches-6.12/901-arm-add-cmdline-override.patch
@@ -37,7 +37,7 @@
* CONFIG_CMDLINE is meant to be a default in case nothing else
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
-@@ -2382,6 +2382,14 @@ config CMDLINE_FORCE
+@@ -2432,6 +2432,14 @@ config CMDLINE_FORCE
endchoice
diff --git a/target/linux/microchipsw/patches-6.12/0099-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch b/target/linux/microchipsw/patches-6.12/0099-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch
deleted file mode 100644
index ef9a263afb..0000000000
--- a/target/linux/microchipsw/patches-6.12/0099-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From e027c218c482c6a0ae1948129ccda3b0a2033368 Mon Sep 17 00:00:00 2001
-From: Robert Marko <robert.marko@sartura.hr>
-Date: Tue, 28 Apr 2026 15:41:01 +0200
-Subject: [PATCH] net: phy: micrel: fix LAN8814 QSGMII soft reset
-
-LAN8814 QSGMII soft reset was moved into the probe function to avoid
-triggering it for each of 4 PHY-s in the package.
-
-However, that broke QSGMII link between the MAC and PHY on most LAN8814
-PHY-s, specificaly for us on the Microchip LAN969x switch.
-Reading the QSGMII status registers it was visible that lanes were only
-partially synced.
-
-It looks like the reset timing is crucial, so lets move the reset back
-into the .config_init function but guard it with phy_package_init_once()
-to avoid it being triggered on each of 4 PHY-s in the package.
-Change the probe function to use phy_package_probe_once() for coma and PtP
-setup.
-
-Fixes: 96a9178a29a6 ("net: phy: micrel: lan8814 fix reset of the QSGMII interface")
-Signed-off-by: Robert Marko <robert.marko@sartura.hr>
-Link: https://patch.msgid.link/20260428134138.1741253-1-robert.marko@sartura.hr
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
----
- drivers/net/phy/micrel.c | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
---- a/drivers/net/phy/micrel.c
-+++ b/drivers/net/phy/micrel.c
-@@ -4095,6 +4095,13 @@ static int lan8814_config_init(struct ph
- {
- struct kszphy_priv *lan8814 = phydev->priv;
-
-+ if (phy_package_init_once(phydev))
-+ /* Reset the PHY */
-+ lanphy_modify_page_reg(phydev, LAN8814_PAGE_COMMON_REGS,
-+ LAN8814_QSGMII_SOFT_RESET,
-+ LAN8814_QSGMII_SOFT_RESET_BIT,
-+ LAN8814_QSGMII_SOFT_RESET_BIT);
-+
- /* Disable ANEG with QSGMII PCS Host side */
- lanphy_modify_page_reg(phydev, LAN8814_PAGE_PORT_REGS,
- LAN8814_QSGMII_PCS1G_ANEG_CONFIG,
-@@ -4179,13 +4186,7 @@ static int lan8814_probe(struct phy_devi
- devm_phy_package_join(&phydev->mdio.dev, phydev,
- addr, sizeof(struct lan8814_shared_priv));
-
-- if (phy_package_init_once(phydev)) {
-- /* Reset the PHY */
-- lanphy_modify_page_reg(phydev, LAN8814_PAGE_COMMON_REGS,
-- LAN8814_QSGMII_SOFT_RESET,
-- LAN8814_QSGMII_SOFT_RESET_BIT,
-- LAN8814_QSGMII_SOFT_RESET_BIT);
--
-+ if (phy_package_probe_once(phydev)) {
- err = lan8814_release_coma_mode(phydev);
- if (err)
- return err;
diff --git a/target/linux/mvebu/patches-6.12/701-mvpp2-read-mac-address-from-nvmem.patch b/target/linux/mvebu/patches-6.12/701-mvpp2-read-mac-address-from-nvmem.patch
index ebfa19db08..7cda835a80 100644
--- a/target/linux/mvebu/patches-6.12/701-mvpp2-read-mac-address-from-nvmem.patch
+++ b/target/linux/mvebu/patches-6.12/701-mvpp2-read-mac-address-from-nvmem.patch
@@ -12,7 +12,7 @@ Signed-off-by: Tobias Schramm <tobias@t-sys.eu>
---
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
-@@ -6179,6 +6179,12 @@ static int mvpp2_port_copy_mac_addr(stru
+@@ -6198,6 +6198,12 @@ static int mvpp2_port_copy_mac_addr(stru
return 0;
}
diff --git a/target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch b/target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch
index 3ea7f813d6..86c9692c12 100644
--- a/target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch
+++ b/target/linux/qualcommbe/patches-6.12/0023-v6.15-net-phy-move-PHY-package-code-from-phy_device..patch
@@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
ifdef CONFIG_MDIO_DEVICE
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1781,243 +1781,6 @@ bool phy_driver_is_genphy_10g(struct phy
+@@ -1784,243 +1784,6 @@ bool phy_driver_is_genphy_10g(struct phy
EXPORT_SYMBOL_GPL(phy_driver_is_genphy_10g);
/**
diff --git a/target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch b/target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch
index acfe83f7c8..fd3c375a4d 100644
--- a/target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch
+++ b/target/linux/rockchip/patches-6.12/030-03-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch
@@ -24,7 +24,7 @@ Link: https://lore.kernel.org/all/20250216221634.364158-2-dmitry.osipenko@collab
--- a/Documentation/arch/arm64/silicon-errata.rst
+++ b/Documentation/arch/arm64/silicon-errata.rst
-@@ -285,6 +285,8 @@ stable kernels.
+@@ -331,6 +331,8 @@ stable kernels.
+----------------+-----------------+-----------------+-----------------------------+
| Rockchip | RK3588 | #3588001 | ROCKCHIP_ERRATUM_3588001 |
+----------------+-----------------+-----------------+-----------------------------+
@@ -35,7 +35,7 @@ Link: https://lore.kernel.org/all/20250216221634.364158-2-dmitry.osipenko@collab
+----------------+-----------------+-----------------+-----------------------------+
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
-@@ -1297,6 +1297,15 @@ config NVIDIA_CARMEL_CNP_ERRATUM
+@@ -1347,6 +1347,15 @@ config NVIDIA_CARMEL_CNP_ERRATUM
If unsure, say Y.