]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 14 Sep 2025 08:02:03 +0000 (10:02 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 14 Sep 2025 08:02:03 +0000 (10:02 +0200)
added patches:
mm-khugepaged-fix-the-address-passed-to-notifier-on-testing-young.patch
mtd-nand-raw-atmel-fix-comment-in-timings-preparation.patch
mtd-nand-raw-atmel-respect-tar-tclr-in-read-setup-timing.patch
mtd-rawnand-stm32_fmc2-avoid-overlapping-mappings-on-ecc-buffer.patch
mtd-rawnand-stm32_fmc2-fix-dma_map_sg-error-check.patch

queue-5.15/mm-khugepaged-fix-the-address-passed-to-notifier-on-testing-young.patch [new file with mode: 0644]
queue-5.15/mtd-nand-raw-atmel-fix-comment-in-timings-preparation.patch [new file with mode: 0644]
queue-5.15/mtd-nand-raw-atmel-respect-tar-tclr-in-read-setup-timing.patch [new file with mode: 0644]
queue-5.15/mtd-rawnand-stm32_fmc2-avoid-overlapping-mappings-on-ecc-buffer.patch [new file with mode: 0644]
queue-5.15/mtd-rawnand-stm32_fmc2-fix-dma_map_sg-error-check.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/mm-khugepaged-fix-the-address-passed-to-notifier-on-testing-young.patch b/queue-5.15/mm-khugepaged-fix-the-address-passed-to-notifier-on-testing-young.patch
new file mode 100644 (file)
index 0000000..f90df78
--- /dev/null
@@ -0,0 +1,47 @@
+From 394bfac1c7f7b701c2c93834c5761b9c9ceeebcf Mon Sep 17 00:00:00 2001
+From: Wei Yang <richard.weiyang@gmail.com>
+Date: Fri, 22 Aug 2025 06:33:18 +0000
+Subject: mm/khugepaged: fix the address passed to notifier on testing young
+
+From: Wei Yang <richard.weiyang@gmail.com>
+
+commit 394bfac1c7f7b701c2c93834c5761b9c9ceeebcf upstream.
+
+Commit 8ee53820edfd ("thp: mmu_notifier_test_young") introduced
+mmu_notifier_test_young(), but we are passing the wrong address.
+In xxx_scan_pmd(), the actual iteration address is "_address" not
+"address".  We seem to misuse the variable on the very beginning.
+
+Change it to the right one.
+
+[akpm@linux-foundation.org fix whitespace, per everyone]
+Link: https://lkml.kernel.org/r/20250822063318.11644-1-richard.weiyang@gmail.com
+Fixes: 8ee53820edfd ("thp: mmu_notifier_test_young")
+Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
+Reviewed-by: Dev Jain <dev.jain@arm.com>
+Reviewed-by: Zi Yan <ziy@nvidia.com>
+Acked-by: David Hildenbrand <david@redhat.com>
+Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
+Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
+Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
+Cc: Nico Pache <npache@redhat.com>
+Cc: Ryan Roberts <ryan.roberts@arm.com>
+Cc: Barry Song <baohua@kernel.org>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ mm/khugepaged.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/mm/khugepaged.c
++++ b/mm/khugepaged.c
+@@ -1358,7 +1358,7 @@ static int khugepaged_scan_pmd(struct mm
+               }
+               if (pte_young(pteval) ||
+                   page_is_young(page) || PageReferenced(page) ||
+-                  mmu_notifier_test_young(vma->vm_mm, address))
++                  mmu_notifier_test_young(vma->vm_mm, _address))
+                       referenced++;
+       }
+       if (!writable) {
diff --git a/queue-5.15/mtd-nand-raw-atmel-fix-comment-in-timings-preparation.patch b/queue-5.15/mtd-nand-raw-atmel-fix-comment-in-timings-preparation.patch
new file mode 100644 (file)
index 0000000..82e28c0
--- /dev/null
@@ -0,0 +1,39 @@
+From stable+bounces-179497-greg=kroah.com@vger.kernel.org Sat Sep 13 17:13:03 2025
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 13 Sep 2025 11:12:50 -0400
+Subject: mtd: nand: raw: atmel: Fix comment in timings preparation
+To: stable@vger.kernel.org
+Cc: Alexander Dahl <ada@thorsis.com>, Nicolas Ferre <nicolas.ferre@microchip.com>, Miquel Raynal <miquel.raynal@bootlin.com>, Sasha Levin <sashal@kernel.org>
+Message-ID: <20250913151251.1410237-1-sashal@kernel.org>
+
+From: Alexander Dahl <ada@thorsis.com>
+
+[ Upstream commit 1c60e027ffdebd36f4da766d9c9abbd1ea4dd8f9 ]
+
+Looks like a copy'n'paste mistake introduced when initially adding the
+dynamic timings feature with commit f9ce2eddf176 ("mtd: nand: atmel: Add
+->setup_data_interface() hooks").  The context around this and
+especially the code itself suggests 'read' is meant instead of write.
+
+Signed-off-by: Alexander Dahl <ada@thorsis.com>
+Reviewed-by: Nicolas Ferre <nicolas.ferre@microchip.com>
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
+Link: https://lore.kernel.org/linux-mtd/20240226122537.75097-1-ada@thorsis.com
+Stable-dep-of: fd779eac2d65 ("mtd: nand: raw: atmel: Respect tAR, tCLR in read setup timing")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/mtd/nand/raw/atmel/nand-controller.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/mtd/nand/raw/atmel/nand-controller.c
++++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
+@@ -1378,7 +1378,7 @@ static int atmel_smc_nand_prepare_smccon
+               return ret;
+       /*
+-       * The write cycle timing is directly matching tWC, but is also
++       * The read cycle timing is directly matching tRC, but is also
+        * dependent on the setup and hold timings we calculated earlier,
+        * which gives:
+        *
diff --git a/queue-5.15/mtd-nand-raw-atmel-respect-tar-tclr-in-read-setup-timing.patch b/queue-5.15/mtd-nand-raw-atmel-respect-tar-tclr-in-read-setup-timing.patch
new file mode 100644 (file)
index 0000000..018b753
--- /dev/null
@@ -0,0 +1,62 @@
+From stable+bounces-179498-greg=kroah.com@vger.kernel.org Sat Sep 13 17:13:02 2025
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 13 Sep 2025 11:12:51 -0400
+Subject: mtd: nand: raw: atmel: Respect tAR, tCLR in read setup timing
+To: stable@vger.kernel.org
+Cc: Alexander Sverdlin <alexander.sverdlin@siemens.com>, Alexander Dahl <ada@thorsis.com>, Miquel Raynal <miquel.raynal@bootlin.com>, Sasha Levin <sashal@kernel.org>
+Message-ID: <20250913151251.1410237-2-sashal@kernel.org>
+
+From: Alexander Sverdlin <alexander.sverdlin@siemens.com>
+
+[ Upstream commit fd779eac2d659668be4d3dbdac0710afd5d6db12 ]
+
+Having setup time 0 violates tAR, tCLR of some chips, for instance
+TOSHIBA TC58NVG2S3ETAI0 cannot be detected successfully (first ID byte
+being read duplicated, i.e. 98 98 dc 90 15 76 14 03 instead of
+98 dc 90 15 76 ...).
+
+Atmel Application Notes postulated 1 cycle NRD_SETUP without explanation
+[1], but it looks more appropriate to just calculate setup time properly.
+
+[1] Link: https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ApplicationNotes/ApplicationNotes/doc6255.pdf
+
+Cc: stable@vger.kernel.org
+Fixes: f9ce2eddf176 ("mtd: nand: atmel: Add ->setup_data_interface() hooks")
+Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
+Tested-by: Alexander Dahl <ada@thorsis.com>
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/mtd/nand/raw/atmel/nand-controller.c |   16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+--- a/drivers/mtd/nand/raw/atmel/nand-controller.c
++++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
+@@ -1378,13 +1378,23 @@ static int atmel_smc_nand_prepare_smccon
+               return ret;
+       /*
++       * Read setup timing depends on the operation done on the NAND:
++       *
++       * NRD_SETUP = max(tAR, tCLR)
++       */
++      timeps = max(conf->timings.sdr.tAR_min, conf->timings.sdr.tCLR_min);
++      ncycles = DIV_ROUND_UP(timeps, mckperiodps);
++      totalcycles += ncycles;
++      ret = atmel_smc_cs_conf_set_setup(smcconf, ATMEL_SMC_NRD_SHIFT, ncycles);
++      if (ret)
++              return ret;
++
++      /*
+        * The read cycle timing is directly matching tRC, but is also
+        * dependent on the setup and hold timings we calculated earlier,
+        * which gives:
+        *
+-       * NRD_CYCLE = max(tRC, NRD_PULSE + NRD_HOLD)
+-       *
+-       * NRD_SETUP is always 0.
++       * NRD_CYCLE = max(tRC, NRD_SETUP + NRD_PULSE + NRD_HOLD)
+        */
+       ncycles = DIV_ROUND_UP(conf->timings.sdr.tRC_min, mckperiodps);
+       ncycles = max(totalcycles, ncycles);
diff --git a/queue-5.15/mtd-rawnand-stm32_fmc2-avoid-overlapping-mappings-on-ecc-buffer.patch b/queue-5.15/mtd-rawnand-stm32_fmc2-avoid-overlapping-mappings-on-ecc-buffer.patch
new file mode 100644 (file)
index 0000000..d4c753b
--- /dev/null
@@ -0,0 +1,138 @@
+From stable+bounces-179496-greg=kroah.com@vger.kernel.org Sat Sep 13 17:09:35 2025
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 13 Sep 2025 11:09:17 -0400
+Subject: mtd: rawnand: stm32_fmc2: avoid overlapping mappings on ECC buffer
+To: stable@vger.kernel.org
+Cc: Christophe Kerello <christophe.kerello@foss.st.com>, Miquel Raynal <miquel.raynal@bootlin.com>, Sasha Levin <sashal@kernel.org>
+Message-ID: <20250913150917.1408380-2-sashal@kernel.org>
+
+From: Christophe Kerello <christophe.kerello@foss.st.com>
+
+[ Upstream commit 513c40e59d5a414ab763a9c84797534b5e8c208d ]
+
+Avoid below overlapping mappings by using a contiguous
+non-cacheable buffer.
+
+[    4.077708] DMA-API: stm32_fmc2_nfc 48810000.nand-controller: cacheline tracking EEXIST,
+overlapping mappings aren't supported
+[    4.089103] WARNING: CPU: 1 PID: 44 at kernel/dma/debug.c:568 add_dma_entry+0x23c/0x300
+[    4.097071] Modules linked in:
+[    4.100101] CPU: 1 PID: 44 Comm: kworker/u4:2 Not tainted 6.1.82 #1
+[    4.106346] Hardware name: STMicroelectronics STM32MP257F VALID1 SNOR / MB1704 (LPDDR4 Power discrete) + MB1703 + MB1708 (SNOR MB1730) (DT)
+[    4.118824] Workqueue: events_unbound deferred_probe_work_func
+[    4.124674] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
+[    4.131624] pc : add_dma_entry+0x23c/0x300
+[    4.135658] lr : add_dma_entry+0x23c/0x300
+[    4.139792] sp : ffff800009dbb490
+[    4.143016] x29: ffff800009dbb4a0 x28: 0000000004008022 x27: ffff8000098a6000
+[    4.150174] x26: 0000000000000000 x25: ffff8000099e7000 x24: ffff8000099e7de8
+[    4.157231] x23: 00000000ffffffff x22: 0000000000000000 x21: ffff8000098a6a20
+[    4.164388] x20: ffff000080964180 x19: ffff800009819ba0 x18: 0000000000000006
+[    4.171545] x17: 6361727420656e69 x16: 6c6568636163203a x15: 72656c6c6f72746e
+[    4.178602] x14: 6f632d646e616e2e x13: ffff800009832f58 x12: 00000000000004ec
+[    4.185759] x11: 00000000000001a4 x10: ffff80000988af58 x9 : ffff800009832f58
+[    4.192916] x8 : 00000000ffffefff x7 : ffff80000988af58 x6 : 80000000fffff000
+[    4.199972] x5 : 000000000000bff4 x4 : 0000000000000000 x3 : 0000000000000000
+[    4.207128] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000812d2c40
+[    4.214185] Call trace:
+[    4.216605]  add_dma_entry+0x23c/0x300
+[    4.220338]  debug_dma_map_sg+0x198/0x350
+[    4.224373]  __dma_map_sg_attrs+0xa0/0x110
+[    4.228411]  dma_map_sg_attrs+0x10/0x2c
+[    4.232247]  stm32_fmc2_nfc_xfer.isra.0+0x1c8/0x3fc
+[    4.237088]  stm32_fmc2_nfc_seq_read_page+0xc8/0x174
+[    4.242127]  nand_read_oob+0x1d4/0x8e0
+[    4.245861]  mtd_read_oob_std+0x58/0x84
+[    4.249596]  mtd_read_oob+0x90/0x150
+[    4.253231]  mtd_read+0x68/0xac
+
+Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>
+Cc: stable@vger.kernel.org
+Fixes: 2cd457f328c1 ("mtd: rawnand: stm32_fmc2: add STM32 FMC2 NAND flash controller driver")
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/mtd/nand/raw/stm32_fmc2_nand.c |   28 +++++++++-------------------
+ 1 file changed, 9 insertions(+), 19 deletions(-)
+
+--- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
++++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
+@@ -261,6 +261,7 @@ struct stm32_fmc2_nfc {
+       struct sg_table dma_data_sg;
+       struct sg_table dma_ecc_sg;
+       u8 *ecc_buf;
++      dma_addr_t dma_ecc_addr;
+       int dma_ecc_len;
+       struct completion complete;
+@@ -883,17 +884,10 @@ static int stm32_fmc2_nfc_xfer(struct na
+       if (!write_data && !raw) {
+               /* Configure DMA ECC status */
+-              p = nfc->ecc_buf;
+               for_each_sg(nfc->dma_ecc_sg.sgl, sg, eccsteps, s) {
+-                      sg_set_buf(sg, p, nfc->dma_ecc_len);
+-                      p += nfc->dma_ecc_len;
+-              }
+-
+-              ret = dma_map_sg(nfc->dev, nfc->dma_ecc_sg.sgl,
+-                               eccsteps, dma_data_dir);
+-              if (!ret) {
+-                      ret = -EIO;
+-                      goto err_unmap_data;
++                      sg_dma_address(sg) = nfc->dma_ecc_addr +
++                                           s * nfc->dma_ecc_len;
++                      sg_dma_len(sg) = nfc->dma_ecc_len;
+               }
+               desc_ecc = dmaengine_prep_slave_sg(nfc->dma_ecc_ch,
+@@ -902,7 +896,7 @@ static int stm32_fmc2_nfc_xfer(struct na
+                                                  DMA_PREP_INTERRUPT);
+               if (!desc_ecc) {
+                       ret = -ENOMEM;
+-                      goto err_unmap_ecc;
++                      goto err_unmap_data;
+               }
+               reinit_completion(&nfc->dma_ecc_complete);
+@@ -910,7 +904,7 @@ static int stm32_fmc2_nfc_xfer(struct na
+               desc_ecc->callback_param = &nfc->dma_ecc_complete;
+               ret = dma_submit_error(dmaengine_submit(desc_ecc));
+               if (ret)
+-                      goto err_unmap_ecc;
++                      goto err_unmap_data;
+               dma_async_issue_pending(nfc->dma_ecc_ch);
+       }
+@@ -930,7 +924,7 @@ static int stm32_fmc2_nfc_xfer(struct na
+               if (!write_data && !raw)
+                       dmaengine_terminate_all(nfc->dma_ecc_ch);
+               ret = -ETIMEDOUT;
+-              goto err_unmap_ecc;
++              goto err_unmap_data;
+       }
+       /* Wait DMA data transfer completion */
+@@ -950,11 +944,6 @@ static int stm32_fmc2_nfc_xfer(struct na
+               }
+       }
+-err_unmap_ecc:
+-      if (!write_data && !raw)
+-              dma_unmap_sg(nfc->dev, nfc->dma_ecc_sg.sgl,
+-                           eccsteps, dma_data_dir);
+-
+ err_unmap_data:
+       dma_unmap_sg(nfc->dev, nfc->dma_data_sg.sgl, eccsteps, dma_data_dir);
+@@ -1592,7 +1581,8 @@ static int stm32_fmc2_nfc_dma_setup(stru
+               return ret;
+       /* Allocate a buffer to store ECC status registers */
+-      nfc->ecc_buf = devm_kzalloc(nfc->dev, FMC2_MAX_ECC_BUF_LEN, GFP_KERNEL);
++      nfc->ecc_buf = dmam_alloc_coherent(nfc->dev, FMC2_MAX_ECC_BUF_LEN,
++                                         &nfc->dma_ecc_addr, GFP_KERNEL);
+       if (!nfc->ecc_buf)
+               return -ENOMEM;
diff --git a/queue-5.15/mtd-rawnand-stm32_fmc2-fix-dma_map_sg-error-check.patch b/queue-5.15/mtd-rawnand-stm32_fmc2-fix-dma_map_sg-error-check.patch
new file mode 100644 (file)
index 0000000..b09ff26
--- /dev/null
@@ -0,0 +1,62 @@
+From stable+bounces-179495-greg=kroah.com@vger.kernel.org Sat Sep 13 17:09:31 2025
+From: Sasha Levin <sashal@kernel.org>
+Date: Sat, 13 Sep 2025 11:09:16 -0400
+Subject: mtd: rawnand: stm32_fmc2: Fix dma_map_sg error check
+To: stable@vger.kernel.org
+Cc: Jack Wang <jinpu.wang@ionos.com>, Miquel Raynal <miquel.raynal@bootlin.com>, Richard Weinberger <richard@nod.at>, Vignesh Raghavendra <vigneshr@ti.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Philipp Zabel <p.zabel@pengutronix.de>, Christophe Kerello <christophe.kerello@foss.st.com>, Cai Huoqing <cai.huoqing@linux.dev>, linux-mtd@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Sasha Levin <sashal@kernel.org>
+Message-ID: <20250913150917.1408380-1-sashal@kernel.org>
+
+From: Jack Wang <jinpu.wang@ionos.com>
+
+[ Upstream commit 43b81c2a3e6e07915151045aa13a6e8a9bd64419 ]
+
+dma_map_sg return 0 on error, in case of error return -EIO.
+
+Cc: Miquel Raynal <miquel.raynal@bootlin.com>
+Cc: Richard Weinberger <richard@nod.at>
+Cc: Vignesh Raghavendra <vigneshr@ti.com>
+Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
+Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
+Cc: Philipp Zabel <p.zabel@pengutronix.de>
+Cc: Christophe Kerello <christophe.kerello@foss.st.com>
+Cc: Cai Huoqing <cai.huoqing@linux.dev>
+Cc: linux-mtd@lists.infradead.org
+Cc: linux-stm32@st-md-mailman.stormreply.com
+Cc: linux-arm-kernel@lists.infradead.org
+Cc: linux-kernel@vger.kernel.org
+Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
+Reviewed-by: Christophe Kerello <christophe.kerello@foss.st.com>
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
+Link: https://lore.kernel.org/linux-mtd/20220819060801.10443-5-jinpu.wang@ionos.com
+Stable-dep-of: 513c40e59d5a ("mtd: rawnand: stm32_fmc2: avoid overlapping mappings on ECC buffer")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/mtd/nand/raw/stm32_fmc2_nand.c |    8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/drivers/mtd/nand/raw/stm32_fmc2_nand.c
++++ b/drivers/mtd/nand/raw/stm32_fmc2_nand.c
+@@ -860,8 +860,8 @@ static int stm32_fmc2_nfc_xfer(struct na
+       ret = dma_map_sg(nfc->dev, nfc->dma_data_sg.sgl,
+                        eccsteps, dma_data_dir);
+-      if (ret < 0)
+-              return ret;
++      if (!ret)
++              return -EIO;
+       desc_data = dmaengine_prep_slave_sg(dma_ch, nfc->dma_data_sg.sgl,
+                                           eccsteps, dma_transfer_dir,
+@@ -891,8 +891,10 @@ static int stm32_fmc2_nfc_xfer(struct na
+               ret = dma_map_sg(nfc->dev, nfc->dma_ecc_sg.sgl,
+                                eccsteps, dma_data_dir);
+-              if (ret < 0)
++              if (!ret) {
++                      ret = -EIO;
+                       goto err_unmap_data;
++              }
+               desc_ecc = dmaengine_prep_slave_sg(nfc->dma_ecc_ch,
+                                                  nfc->dma_ecc_sg.sgl,
index b97556779344fe5a30bf001b7323cb546d6ffbac..7e0cef770f582858796b4822542238ac84fc04db 100644 (file)
@@ -26,3 +26,8 @@ mtd-rawnand-stm32_fmc2-fix-ecc-overwrite.patch
 fuse-check-if-copy_file_range-returns-larger-than-requested-size.patch
 fuse-prevent-overflow-in-copy_file_range-return-value.patch
 libceph-fix-invalid-accesses-to-ceph_connection_v1_info.patch
+mm-khugepaged-fix-the-address-passed-to-notifier-on-testing-young.patch
+mtd-nand-raw-atmel-fix-comment-in-timings-preparation.patch
+mtd-nand-raw-atmel-respect-tar-tclr-in-read-setup-timing.patch
+mtd-rawnand-stm32_fmc2-fix-dma_map_sg-error-check.patch
+mtd-rawnand-stm32_fmc2-avoid-overlapping-mappings-on-ecc-buffer.patch