From: Anton Ryzhov Date: Sun, 1 Nov 2020 15:06:26 +0000 (+0100) Subject: ramips: fix kernel oops in `mt7621_nfc_write_page_hwecc` X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=df469befdc4c13d260b99f3a1e15bc418a429020;p=openwrt%2Fstaging%2Faparcar.git ramips: fix kernel oops in `mt7621_nfc_write_page_hwecc` `mt7621_nfc_write_page_hwecc` may be called with `buf=NULL`, but `mt7621_nfc_check_empty_page` always tries to read it. That caused Oops: `Unable to handle kernel paging request at virtual address 00000000` Fixes: FS#3416 Signed-off-by: Anton Ryzhov --- diff --git a/target/linux/ramips/patches-5.4/0300-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch b/target/linux/ramips/patches-5.4/0300-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch index f65092afb1..ba844fed0f 100644 --- a/target/linux/ramips/patches-5.4/0300-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch +++ b/target/linux/ramips/patches-5.4/0300-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch @@ -47,7 +47,7 @@ Signed-off-by: Weijie Gao obj-$(CONFIG_MTD_NAND_TEGRA) += tegra_nand.o --- /dev/null +++ b/drivers/mtd/nand/raw/mt7621_nand.c -@@ -0,0 +1,1348 @@ +@@ -0,0 +1,1350 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * MediaTek MT7621 NAND Flash Controller driver @@ -1155,9 +1155,11 @@ Signed-off-by: Weijie Gao + uint32_t i, j; + u8 *oobptr; + -+ for (i = 0; i < mtd->writesize; i++) -+ if (buf[i] != 0xff) -+ return 0; ++ if (buf) { ++ for (i = 0; i < mtd->writesize; i++) ++ if (buf[i] != 0xff) ++ return 0; ++ } + + for (i = 0; i < nand->ecc.steps; i++) { + oobptr = oob_fdm_ptr(nand, i);