summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Audia2026-05-07 11:52:08 +0000
committerHauke Mehrtens2026-05-12 21:08:44 +0000
commita9e851a0d026283be686ff06f178cdf9806b88c2 (patch)
treeef668725b578adaf91c3d9a71ee6ecb6974a8613
parent80f009766f1fca1f538a99f383cc7f27eff0e41a (diff)
downloadopenwrt-a9e851a0d026283be686ff06f178cdf9806b88c2.tar.gz
kernel: bump 6.12 to 6.12.86
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.86 Removed upstreamed: mvebu/patches-6.12/101-arm64-dts-marvell-uDPU-add-ethernet-aliases.patch[1] Manually rebased: pending-6.12/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch All other patches automatically rebased via update_kernel.sh 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.86&id=e58e97c1441ecbc1f153795f5857e725ebb96bdf Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/23253 (cherry picked from commit f72b368b510ab39fdddc8de462b065f4bbc3bd47) Link: https://github.com/openwrt/openwrt/pull/23270 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0057-MMC-added-alternative-MMC-driver.patch6
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0058-mmc-block-Don-t-do-single-sector-reads-during-recove.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0125-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0172-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch8
-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-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch12
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0440-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch10
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0441-mmc-don-t-reference-requests-after-finishing-them.patch10
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch2
-rw-r--r--target/linux/bcm27xx/patches-6.12/950-0950-usb-xhci-default-to-Intel-scheme-for-calculating-U1-.patch4
-rw-r--r--target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch2
-rw-r--r--target/linux/generic/backport-6.12/500-03-v6.13-mmc-block-attach-partitions-fwnode-if-found-in-mmc-c.patch6
-rw-r--r--target/linux/generic/backport-6.12/822-v6.19-ALSA-usb-audio-Convert-to-common-field_-get-prep-hel.patch2
-rw-r--r--target/linux/generic/hack-6.12/499-LEGACY-block-partitions-populate-fwnode.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/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch8
-rw-r--r--target/linux/generic/pending-6.12/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch2
-rw-r--r--target/linux/generic/pending-6.12/457-mmc-block-set-GENHD_FL_NVMEM.patch2
-rw-r--r--target/linux/generic/pending-6.12/920-mangle_bootargs.patch2
-rw-r--r--target/linux/ipq806x/patches-6.12/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch2
-rw-r--r--target/linux/mediatek/patches-6.12/432-drivers-spi-Add-support-for-dynamic-calibration.patch6
-rw-r--r--target/linux/mvebu/patches-6.12/101-arm64-dts-marvell-uDPU-add-ethernet-aliases.patch33
-rw-r--r--target/linux/mvebu/patches-6.12/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch2
-rw-r--r--target/linux/rockchip/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch14
-rw-r--r--target/linux/rockchip/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch2
-rw-r--r--target/linux/rockchip/patches-6.12/037-06-v6.19-mmc-sdhci-of-dwcmshc-Disable-internal-clock-auto-gate-for.patch2
29 files changed, 61 insertions, 94 deletions
diff --git a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
index f372f3ae22..ab0cf0a8ab 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
@@ -312,7 +312,7 @@ SVN-Revision: 35130
case IPV6_2292HOPOPTS:
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
-@@ -990,7 +990,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
+@@ -993,7 +993,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
goto drop;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0057-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-6.12/950-0057-MMC-added-alternative-MMC-driver.patch
index e522ad3f95..583dbe6de0 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0057-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0057-MMC-added-alternative-MMC-driver.patch
@@ -285,7 +285,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static inline int mmc_blk_part_switch(struct mmc_card *card,
unsigned int part_type);
static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
-@@ -3313,6 +3320,8 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3321,6 +3328,8 @@ static int mmc_blk_probe(struct mmc_card
{
struct mmc_blk_data *md;
int ret = 0;
@@ -294,7 +294,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
/*
* Check that the card supports the command class(es) we need.
-@@ -3320,7 +3329,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3328,7 +3337,16 @@ static int mmc_blk_probe(struct mmc_card
if (!(card->csd.cmdclass & CCC_BLOCK_READ))
return -ENODEV;
@@ -312,7 +312,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
card->complete_wq = alloc_workqueue("mmc_complete",
WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
-@@ -3335,6 +3353,17 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3343,6 +3361,17 @@ static int mmc_blk_probe(struct mmc_card
goto out_free;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0058-mmc-block-Don-t-do-single-sector-reads-during-recove.patch b/target/linux/bcm27xx/patches-6.12/950-0058-mmc-block-Don-t-do-single-sector-reads-during-recove.patch
index bfcfcc0abb..ec9d51a41f 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0058-mmc-block-Don-t-do-single-sector-reads-during-recove.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0058-mmc-block-Don-t-do-single-sector-reads-during-recove.patch
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
-@@ -2011,7 +2011,7 @@ static void mmc_blk_mq_rw_recovery(struc
+@@ -2017,7 +2017,7 @@ static void mmc_blk_mq_rw_recovery(struc
return;
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
index c31cb6838c..ca24d156ad 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0124-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
@@ -70,7 +70,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* @dev: the device whose endpoint is being disabled
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
-@@ -1879,6 +1879,8 @@ extern int usb_clear_halt(struct usb_dev
+@@ -1880,6 +1880,8 @@ extern int usb_clear_halt(struct usb_dev
extern int usb_reset_configuration(struct usb_device *dev);
extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate);
extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr);
diff --git a/target/linux/bcm27xx/patches-6.12/950-0125-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-6.12/950-0125-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
index 88c67d2ba5..0491be4369 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0125-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0125-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
@@ -124,7 +124,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
-@@ -5387,6 +5490,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5386,6 +5489,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
diff --git a/target/linux/bcm27xx/patches-6.12/950-0172-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch b/target/linux/bcm27xx/patches-6.12/950-0172-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
index 0f7420cb55..79af1ab3d6 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0172-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0172-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
@@ -32,15 +32,15 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3901,6 +3901,7 @@ static int spi_set_cs_timing(struct spi_
- */
- int spi_setup(struct spi_device *spi)
+@@ -3883,6 +3883,7 @@ static int spi_set_cs_timing(struct spi_
+
+ static int __spi_setup(struct spi_device *spi, bool initial_setup)
{
+ struct spi_controller *ctlr = spi->controller;
unsigned bad_bits, ugly_bits;
int status;
-@@ -3927,6 +3928,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3909,6 +3910,14 @@ static int __spi_setup(struct spi_device
"setup: MOSI configured to idle low and high at the same time.\n");
return -EINVAL;
}
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 c351e132d0..2b695742ed 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
@@ -12,7 +12,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
-@@ -1248,7 +1248,11 @@ static const struct dwcmshc_pltfm_data s
+@@ -1261,7 +1261,11 @@ static const struct dwcmshc_pltfm_data s
.quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
diff --git a/target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch b/target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch
index 2eee2bbc70..a9ee1ad96c 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch
@@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static unsigned int dwcmshc_get_max_clock(struct sdhci_host *host)
{
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
-@@ -1150,10 +1162,11 @@ static int sg2042_init(struct device *de
+@@ -1163,10 +1175,11 @@ static int sg2042_init(struct device *de
}
static const struct sdhci_ops sdhci_dwcmshc_ops = {
@@ -61,7 +61,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
.reset = dwcmshc_reset,
.adma_write_desc = dwcmshc_adma_write_desc,
.irq = dwcmshc_cqe_irq_handler,
-@@ -1226,8 +1239,10 @@ static const struct sdhci_ops sdhci_dwcm
+@@ -1239,8 +1252,10 @@ static const struct sdhci_ops sdhci_dwcm
static const struct dwcmshc_pltfm_data sdhci_dwcmshc_pdata = {
.pdata = {
.ops = &sdhci_dwcmshc_ops,
@@ -74,7 +74,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
},
};
-@@ -1242,6 +1257,15 @@ static const struct dwcmshc_pltfm_data s
+@@ -1255,6 +1270,15 @@ static const struct dwcmshc_pltfm_data s
};
#endif
@@ -90,7 +90,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static const struct dwcmshc_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
.pdata = {
.ops = &sdhci_dwcmshc_rk35xx_ops,
-@@ -1365,6 +1389,10 @@ dsbl_cqe_caps:
+@@ -1378,6 +1402,10 @@ dsbl_cqe_caps:
static const struct of_device_id sdhci_dwcmshc_dt_ids[] = {
{
@@ -101,7 +101,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
.compatible = "rockchip,rk3588-dwcmshc",
.data = &sdhci_dwcmshc_rk35xx_pdata,
},
-@@ -1457,13 +1485,32 @@ static int dwcmshc_probe(struct platform
+@@ -1470,13 +1498,32 @@ static int dwcmshc_probe(struct platform
priv->bus_clk = devm_clk_get(dev, "bus");
if (!IS_ERR(priv->bus_clk))
clk_prepare_enable(priv->bus_clk);
@@ -134,7 +134,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
priv->vendor_specific_area1 =
sdhci_readl(host, DWCMSHC_P_VENDOR_AREA1) & DWCMSHC_AREA1_MASK;
-@@ -1523,6 +1570,7 @@ err_rpm:
+@@ -1536,6 +1583,7 @@ err_rpm:
pm_runtime_put_noidle(dev);
err_clk:
clk_disable_unprepare(pltfm_host->clk);
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 b67764f162..fd017a03a4 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
@@ -38,7 +38,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
-@@ -1617,6 +1617,8 @@ static void mmc_blk_cqe_complete_rq(stru
+@@ -1623,6 +1623,8 @@ static void mmc_blk_cqe_complete_rq(stru
spin_lock_irqsave(&mq->lock, flags);
@@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->in_flight[issue_type] -= 1;
put_card = (mmc_tot_in_flight(mq) == 0);
-@@ -2133,6 +2135,8 @@ static void mmc_blk_mq_complete_rq(struc
+@@ -2139,6 +2141,8 @@ static void mmc_blk_mq_complete_rq(struc
struct mmc_queue_req *mqrq = req_to_mmc_queue_req(req);
unsigned int nr_bytes = mqrq->brq.data.bytes_xfered;
@@ -56,7 +56,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
if (nr_bytes) {
if (blk_update_request(req, BLK_STS_OK, nr_bytes))
blk_mq_requeue_request(req, true);
-@@ -2227,13 +2231,16 @@ static void mmc_blk_mq_poll_completion(s
+@@ -2235,13 +2239,16 @@ static void mmc_blk_mq_poll_completion(s
mmc_blk_urgent_bkops(mq, mqrq);
}
@@ -74,7 +74,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->in_flight[issue_type] -= 1;
put_card = (mmc_tot_in_flight(mq) == 0);
-@@ -2267,7 +2274,7 @@ static void mmc_blk_mq_post_req(struct m
+@@ -2275,7 +2282,7 @@ static void mmc_blk_mq_post_req(struct m
blk_mq_complete_request(req);
}
@@ -135,7 +135,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
put_card = true;
--- a/drivers/mmc/core/queue.h
+++ b/drivers/mmc/core/queue.h
-@@ -79,6 +79,7 @@ struct mmc_queue {
+@@ -82,6 +82,7 @@ struct mmc_queue {
struct request_queue *queue;
spinlock_t lock;
int in_flight[MMC_ISSUE_MAX];
diff --git a/target/linux/bcm27xx/patches-6.12/950-0441-mmc-don-t-reference-requests-after-finishing-them.patch b/target/linux/bcm27xx/patches-6.12/950-0441-mmc-don-t-reference-requests-after-finishing-them.patch
index 6b321d20e4..b6f9adcac2 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0441-mmc-don-t-reference-requests-after-finishing-them.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0441-mmc-don-t-reference-requests-after-finishing-them.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
-@@ -1586,6 +1586,7 @@ static void mmc_blk_cqe_complete_rq(stru
+@@ -1589,6 +1589,7 @@ static void mmc_blk_cqe_complete_rq(stru
struct request_queue *q = req->q;
struct mmc_host *host = mq->card->host;
enum mmc_issue_type issue_type = mmc_issue_type(mq, req);
@@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
unsigned long flags;
bool put_card;
int err;
-@@ -1617,7 +1618,7 @@ static void mmc_blk_cqe_complete_rq(stru
+@@ -1623,7 +1624,7 @@ static void mmc_blk_cqe_complete_rq(stru
spin_lock_irqsave(&mq->lock, flags);
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->pending_writes--;
mq->in_flight[issue_type] -= 1;
-@@ -2232,15 +2233,16 @@ static void mmc_blk_mq_poll_completion(s
+@@ -2240,15 +2241,16 @@ static void mmc_blk_mq_poll_completion(s
}
static void mmc_blk_mq_dec_in_flight(struct mmc_queue *mq, enum mmc_issue_type issue_type,
@@ -52,7 +52,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
mq->in_flight[issue_type] -= 1;
put_card = (mmc_tot_in_flight(mq) == 0);
-@@ -2255,6 +2257,7 @@ static void mmc_blk_mq_post_req(struct m
+@@ -2263,6 +2265,7 @@ static void mmc_blk_mq_post_req(struct m
bool can_sleep)
{
enum mmc_issue_type issue_type = mmc_issue_type(mq, req);
@@ -60,7 +60,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
struct mmc_queue_req *mqrq = req_to_mmc_queue_req(req);
struct mmc_request *mrq = &mqrq->brq.mrq;
struct mmc_host *host = mq->card->host;
-@@ -2274,7 +2277,7 @@ static void mmc_blk_mq_post_req(struct m
+@@ -2282,7 +2285,7 @@ static void mmc_blk_mq_post_req(struct m
blk_mq_complete_request(req);
}
diff --git a/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch b/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch
index 900f0f643b..903db59202 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch
@@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
-@@ -1257,13 +1257,15 @@ static const struct dwcmshc_pltfm_data s
+@@ -1270,13 +1270,15 @@ static const struct dwcmshc_pltfm_data s
};
#endif
diff --git a/target/linux/bcm27xx/patches-6.12/950-0950-usb-xhci-default-to-Intel-scheme-for-calculating-U1-.patch b/target/linux/bcm27xx/patches-6.12/950-0950-usb-xhci-default-to-Intel-scheme-for-calculating-U1-.patch
index cdd429ba01..33f8ca71ad 100644
--- a/target/linux/bcm27xx/patches-6.12/950-0950-usb-xhci-default-to-Intel-scheme-for-calculating-U1-.patch
+++ b/target/linux/bcm27xx/patches-6.12/950-0950-usb-xhci-default-to-Intel-scheme-for-calculating-U1-.patch
@@ -40,7 +40,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
static bool td_on_ring(struct xhci_td *td, struct xhci_ring *ring)
{
struct xhci_segment *seg;
-@@ -4792,7 +4796,7 @@ static u16 xhci_calculate_u1_timeout(str
+@@ -4791,7 +4795,7 @@ static u16 xhci_calculate_u1_timeout(str
}
}
@@ -49,7 +49,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
timeout_ns = xhci_calculate_intel_u1_timeout(udev, desc);
else
timeout_ns = udev->u1_params.sel;
-@@ -4856,7 +4860,7 @@ static u16 xhci_calculate_u2_timeout(str
+@@ -4855,7 +4859,7 @@ static u16 xhci_calculate_u2_timeout(str
}
}
diff --git a/target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch b/target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch
index cdf505f3ce..78e2488e01 100644
--- a/target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch
+++ b/target/linux/generic/backport-6.12/500-01-v6.13-block-add-support-for-defining-read-only-partitions.patch
@@ -19,7 +19,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
--- a/block/blk.h
+++ b/block/blk.h
-@@ -574,6 +574,7 @@ void blk_free_ext_minor(unsigned int min
+@@ -593,6 +593,7 @@ void blk_free_ext_minor(unsigned int min
#define ADDPART_FLAG_NONE 0
#define ADDPART_FLAG_RAID 1
#define ADDPART_FLAG_WHOLEDISK 2
diff --git a/target/linux/generic/backport-6.12/500-03-v6.13-mmc-block-attach-partitions-fwnode-if-found-in-mmc-c.patch b/target/linux/generic/backport-6.12/500-03-v6.13-mmc-block-attach-partitions-fwnode-if-found-in-mmc-c.patch
index 0bdeaa85e4..b6977a5fc9 100644
--- a/target/linux/generic/backport-6.12/500-03-v6.13-mmc-block-attach-partitions-fwnode-if-found-in-mmc-c.patch
+++ b/target/linux/generic/backport-6.12/500-03-v6.13-mmc-block-attach-partitions-fwnode-if-found-in-mmc-c.patch
@@ -26,7 +26,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
-@@ -2517,6 +2517,56 @@ static inline int mmc_blk_readonly(struc
+@@ -2525,6 +2525,56 @@ static inline int mmc_blk_readonly(struc
!(card->csd.cmdclass & CCC_BLOCK_WRITE);
}
@@ -83,7 +83,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
struct device *parent,
sector_t size,
-@@ -2525,6 +2575,7 @@ static struct mmc_blk_data *mmc_blk_allo
+@@ -2533,6 +2583,7 @@ static struct mmc_blk_data *mmc_blk_allo
int area_type,
unsigned int part_type)
{
@@ -91,7 +91,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
struct mmc_blk_data *md;
int devidx, ret;
char cap_str[10];
-@@ -2626,7 +2677,9 @@ static struct mmc_blk_data *mmc_blk_allo
+@@ -2634,7 +2685,9 @@ static struct mmc_blk_data *mmc_blk_allo
/* used in ->open, must be set before add_disk: */
if (area_type == MMC_BLK_DATA_AREA_MAIN)
dev_set_drvdata(&card->dev, md);
diff --git a/target/linux/generic/backport-6.12/822-v6.19-ALSA-usb-audio-Convert-to-common-field_-get-prep-hel.patch b/target/linux/generic/backport-6.12/822-v6.19-ALSA-usb-audio-Convert-to-common-field_-get-prep-hel.patch
index ad4c55e11c..d289480945 100644
--- a/target/linux/generic/backport-6.12/822-v6.19-ALSA-usb-audio-Convert-to-common-field_-get-prep-hel.patch
+++ b/target/linux/generic/backport-6.12/822-v6.19-ALSA-usb-audio-Convert-to-common-field_-get-prep-hel.patch
@@ -15,7 +15,7 @@ Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com>
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
-@@ -3367,10 +3367,6 @@ static int snd_bbfpro_controls_create(st
+@@ -3369,10 +3369,6 @@ static int snd_bbfpro_controls_create(st
#define RME_DIGIFACE_REGISTER(reg, mask) (((reg) << 16) | (mask))
#define RME_DIGIFACE_INVERT BIT(31)
diff --git a/target/linux/generic/hack-6.12/499-LEGACY-block-partitions-populate-fwnode.patch b/target/linux/generic/hack-6.12/499-LEGACY-block-partitions-populate-fwnode.patch
index f7ec9efba7..c87cac5455 100644
--- a/target/linux/generic/hack-6.12/499-LEGACY-block-partitions-populate-fwnode.patch
+++ b/target/linux/generic/hack-6.12/499-LEGACY-block-partitions-populate-fwnode.patch
@@ -117,7 +117,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
-@@ -2679,6 +2679,10 @@ static struct mmc_blk_data *mmc_blk_allo
+@@ -2687,6 +2687,10 @@ static struct mmc_blk_data *mmc_blk_allo
if (area_type == MMC_BLK_DATA_AREA_MAIN)
dev_set_drvdata(&card->dev, md);
disk_fwnode = mmc_blk_get_partitions_node(parent, subname);
diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12
index 42b2621682..079419457a 100644
--- a/target/linux/generic/kernel-6.12
+++ b/target/linux/generic/kernel-6.12
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .85
-LINUX_KERNEL_HASH-6.12.85 = e35ac999f40a6874493d8d60f33f1150d7a89ae5841c428da82257fbcd070aed
+LINUX_VERSION-6.12 = .86
+LINUX_KERNEL_HASH-6.12.86 = edef22b327c7cbf39cdbf8d717fffa344f1ca299e513990e21705b3bf26dbb5d
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 46c88a0682..595b529e72 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
-@@ -590,7 +590,7 @@ export RUSTC_BOOTSTRAP := 1
+@@ -591,7 +591,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/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch b/target/linux/generic/pending-6.12/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
index 3abeacaffb..e59de502a3 100644
--- a/target/linux/generic/pending-6.12/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
+++ b/target/linux/generic/pending-6.12/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
@@ -15,10 +15,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/bridge/br_arp_nd_proxy.c
+++ b/net/bridge/br_arp_nd_proxy.c
-@@ -204,7 +204,10 @@ void br_do_proxy_suppress_arp(struct sk_
+@@ -205,7 +205,10 @@ void br_do_proxy_suppress_arp(struct sk_
if ((p && (p->flags & BR_PROXYARP)) ||
- (f->dst && (f->dst->flags & BR_PROXYARP_WIFI)) ||
- br_is_neigh_suppress_enabled(f->dst, vid)) {
+ (dst && (dst->flags & BR_PROXYARP_WIFI)) ||
+ br_is_neigh_suppress_enabled(dst, vid)) {
- if (!vid)
+ replied = true;
+ if (!memcmp(n->ha, sha, dev->addr_len))
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
br_arp_send(br, p, skb->dev, sip, tip,
sha, n->ha, sha, 0, 0);
else
-@@ -212,7 +215,6 @@ void br_do_proxy_suppress_arp(struct sk_
+@@ -213,7 +216,6 @@ void br_do_proxy_suppress_arp(struct sk_
sha, n->ha, sha,
skb->vlan_proto,
skb_vlan_tag_get(skb));
diff --git a/target/linux/generic/pending-6.12/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch b/target/linux/generic/pending-6.12/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch
index 5255a9cd76..449e8e0263 100644
--- a/target/linux/generic/pending-6.12/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch
+++ b/target/linux/generic/pending-6.12/250-kernel-fork-Increase-minimum-number-of-allowed-threa.patch
@@ -26,7 +26,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -123,7 +123,7 @@
+@@ -124,7 +124,7 @@
/*
* Minimum number of threads to boot the kernel
*/
diff --git a/target/linux/generic/pending-6.12/457-mmc-block-set-GENHD_FL_NVMEM.patch b/target/linux/generic/pending-6.12/457-mmc-block-set-GENHD_FL_NVMEM.patch
index 955fa6676e..354b850185 100644
--- a/target/linux/generic/pending-6.12/457-mmc-block-set-GENHD_FL_NVMEM.patch
+++ b/target/linux/generic/pending-6.12/457-mmc-block-set-GENHD_FL_NVMEM.patch
@@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
-@@ -2644,6 +2644,7 @@ static struct mmc_blk_data *mmc_blk_allo
+@@ -2652,6 +2652,7 @@ static struct mmc_blk_data *mmc_blk_allo
md->disk->major = MMC_BLOCK_MAJOR;
md->disk->minors = perdev_minors;
md->disk->first_minor = devidx * perdev_minors;
diff --git a/target/linux/generic/pending-6.12/920-mangle_bootargs.patch b/target/linux/generic/pending-6.12/920-mangle_bootargs.patch
index aca7ae15cc..c3b2f9dd50 100644
--- a/target/linux/generic/pending-6.12/920-mangle_bootargs.patch
+++ b/target/linux/generic/pending-6.12/920-mangle_bootargs.patch
@@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
/*
* We need to store the untouched command line for future reference.
* We also need to store the touched command line since the parameter
-@@ -939,6 +962,7 @@ void start_kernel(void)
+@@ -938,6 +961,7 @@ void start_kernel(void)
jump_label_init();
static_call_init();
early_security_init();
diff --git a/target/linux/ipq806x/patches-6.12/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch b/target/linux/ipq806x/patches-6.12/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch
index f2fb62baa1..7f008f6baf 100644
--- a/target/linux/ipq806x/patches-6.12/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch
+++ b/target/linux/ipq806x/patches-6.12/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch
@@ -177,7 +177,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
#include <linux/percpu.h>
#include <linux/kmod.h>
#include <linux/kprobes.h>
-@@ -973,6 +974,17 @@ void start_kernel(void)
+@@ -972,6 +973,17 @@ void start_kernel(void)
pr_notice("Kernel command line: %s\n", saved_command_line);
/* parameters may set static keys */
diff --git a/target/linux/mediatek/patches-6.12/432-drivers-spi-Add-support-for-dynamic-calibration.patch b/target/linux/mediatek/patches-6.12/432-drivers-spi-Add-support-for-dynamic-calibration.patch
index 4e51dc21c6..218a0a89d7 100644
--- a/target/linux/mediatek/patches-6.12/432-drivers-spi-Add-support-for-dynamic-calibration.patch
+++ b/target/linux/mediatek/patches-6.12/432-drivers-spi-Add-support-for-dynamic-calibration.patch
@@ -11,7 +11,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -1489,6 +1489,70 @@ static int spi_transfer_wait(struct spi_
+@@ -1491,6 +1491,70 @@ static int spi_transfer_wait(struct spi_
return 0;
}
@@ -82,7 +82,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
static void _spi_transfer_delay_ns(u32 ns)
{
if (!ns)
-@@ -2347,6 +2411,75 @@ void spi_flush_queue(struct spi_controll
+@@ -2349,6 +2413,75 @@ void spi_flush_queue(struct spi_controll
/*-------------------------------------------------------------------------*/
#if defined(CONFIG_OF)
@@ -158,7 +158,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
static void of_spi_parse_dt_cs_delay(struct device_node *nc,
struct spi_delay *delay, const char *prop)
{
-@@ -2511,6 +2644,10 @@ of_register_spi_device(struct spi_contro
+@@ -2513,6 +2646,10 @@ of_register_spi_device(struct spi_contro
if (rc)
goto err_out;
diff --git a/target/linux/mvebu/patches-6.12/101-arm64-dts-marvell-uDPU-add-ethernet-aliases.patch b/target/linux/mvebu/patches-6.12/101-arm64-dts-marvell-uDPU-add-ethernet-aliases.patch
deleted file mode 100644
index 8530f2ff31..0000000000
--- a/target/linux/mvebu/patches-6.12/101-arm64-dts-marvell-uDPU-add-ethernet-aliases.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 4b23f8aecf46484cefb5563b0c255ac4e0cd52f9 Mon Sep 17 00:00:00 2001
-From: Robert Marko <robert.marko@sartura.hr>
-Date: Tue, 27 Jan 2026 13:24:59 +0100
-Subject: [PATCH] arm64: dts: marvell: uDPU: add ethernet aliases
-
-On eDPU plus, which is an updated revision of eDPU which uses an external
-MV88E6361 switch we are relying on U-Boot to detect the board, and then
-enable and disable the required nodes for that revision.
-
-However, it seems that I missed adding the required aliases for ethernet
-controllers, and this worked as in OpenWrt we had added those locally.
-
-Cc: stable@vger.kernel.org
-Fixes: 660b8b2f3944 ("arm64: dts: marvell: eDPU: add support for version with external switch")
-Signed-off-by: Robert Marko <robert.marko@sartura.hr>
----
- arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
-+++ b/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dtsi
-@@ -15,6 +15,11 @@
- #include "armada-372x.dtsi"
-
- / {
-+ aliases {
-+ ethernet0 = &eth0;
-+ ethernet1 = &eth1;
-+ };
-+
- chosen {
- stdout-path = "serial0:115200n8";
- };
diff --git a/target/linux/mvebu/patches-6.12/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-6.12/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch
index b0a9a31232..3425e58d5c 100644
--- a/target/linux/mvebu/patches-6.12/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch
+++ b/target/linux/mvebu/patches-6.12/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch
@@ -258,7 +258,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
static int kernel_init(void *);
/*
-@@ -972,6 +976,18 @@ void start_kernel(void)
+@@ -971,6 +975,18 @@ void start_kernel(void)
boot_cpu_hotplug_init();
pr_notice("Kernel command line: %s\n", saved_command_line);
diff --git a/target/linux/rockchip/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch b/target/linux/rockchip/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch
index e6c632df2d..50ba3c9987 100644
--- a/target/linux/rockchip/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch
+++ b/target/linux/rockchip/patches-6.12/037-04-v6.19-mmc-sdhci-of-dwcmshc-Add-command-queue-support-for-rockch.patch
@@ -117,7 +117,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
static void dwcmshc_rk3568_set_clock(struct sdhci_host *host, unsigned int clock)
{
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
-@@ -741,6 +807,10 @@ static void rk35xx_sdhci_reset(struct sd
+@@ -754,6 +820,10 @@ static void rk35xx_sdhci_reset(struct sd
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
struct dwcmshc_priv *dwc_priv = sdhci_pltfm_priv(pltfm_host);
struct rk35xx_priv *priv = dwc_priv->priv;
@@ -128,7 +128,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
if (mask & SDHCI_RESET_ALL && priv->reset) {
reset_control_assert(priv->reset);
-@@ -749,6 +819,9 @@ static void rk35xx_sdhci_reset(struct sd
+@@ -762,6 +832,9 @@ static void rk35xx_sdhci_reset(struct sd
}
sdhci_reset(host, mask);
@@ -138,7 +138,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
}
static int dwcmshc_rk35xx_init(struct device *dev, struct sdhci_host *host,
-@@ -1242,6 +1315,15 @@ static const struct dwcmshc_pltfm_data s
+@@ -1255,6 +1328,15 @@ static const struct dwcmshc_pltfm_data s
};
#endif
@@ -154,7 +154,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
static const struct dwcmshc_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
.pdata = {
.ops = &sdhci_dwcmshc_rk35xx_ops,
-@@ -1250,6 +1332,7 @@ static const struct dwcmshc_pltfm_data s
+@@ -1263,6 +1345,7 @@ static const struct dwcmshc_pltfm_data s
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN,
},
@@ -162,7 +162,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
.init = dwcmshc_rk35xx_init,
.postinit = dwcmshc_rk35xx_postinit,
};
-@@ -1299,7 +1382,8 @@ static const struct cqhci_host_ops dwcms
+@@ -1312,7 +1395,8 @@ static const struct cqhci_host_ops dwcms
.set_tran_desc = dwcmshc_set_tran_desc,
};
@@ -172,7 +172,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
{
struct cqhci_host *cq_host;
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
-@@ -1329,7 +1413,10 @@ static void dwcmshc_cqhci_init(struct sd
+@@ -1342,7 +1426,10 @@ static void dwcmshc_cqhci_init(struct sd
}
cq_host->mmio = host->ioaddr + priv->vendor_specific_area2;
@@ -184,7 +184,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
/* Enable using of 128-bit task descriptors */
dma64 = host->flags & SDHCI_USE_64_BIT_DMA;
-@@ -1498,7 +1585,7 @@ static int dwcmshc_probe(struct platform
+@@ -1511,7 +1598,7 @@ static int dwcmshc_probe(struct platform
priv->vendor_specific_area2 =
sdhci_readw(host, DWCMSHC_P_VENDOR_AREA2);
diff --git a/target/linux/rockchip/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch b/target/linux/rockchip/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch
index 14746cca15..f7975b7d75 100644
--- a/target/linux/rockchip/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch
+++ b/target/linux/rockchip/patches-6.12/037-05-v6.19-mmc-sdhci-of-dwcmshc-Fix-command-queue-support-for-RK3576.patch
@@ -45,7 +45,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
-@@ -1345,6 +1345,7 @@ static const struct dwcmshc_pltfm_data s
+@@ -1358,6 +1358,7 @@ static const struct dwcmshc_pltfm_data s
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN,
},
diff --git a/target/linux/rockchip/patches-6.12/037-06-v6.19-mmc-sdhci-of-dwcmshc-Disable-internal-clock-auto-gate-for.patch b/target/linux/rockchip/patches-6.12/037-06-v6.19-mmc-sdhci-of-dwcmshc-Disable-internal-clock-auto-gate-for.patch
index 45db5c1175..83283d1c00 100644
--- a/target/linux/rockchip/patches-6.12/037-06-v6.19-mmc-sdhci-of-dwcmshc-Disable-internal-clock-auto-gate-for.patch
+++ b/target/linux/rockchip/patches-6.12/037-06-v6.19-mmc-sdhci-of-dwcmshc-Disable-internal-clock-auto-gate-for.patch
@@ -39,4 +39,4 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+ extra |= BIT(4);
sdhci_writel(host, extra, reg);
- if (clock <= 52000000) {
+ /* Disable clock while config DLL */