diff --git a/target/linux/mediatek/patches-5.4/999-2341-mtd-spinand-Add-support-etron.patch b/target/linux/mediatek/patches-5.4/999-2341-mtd-spinand-Add-support-etron.patch
index 68a6f12..ae2458f 100644
--- a/target/linux/mediatek/patches-5.4/999-2341-mtd-spinand-Add-support-etron.patch
+++ b/target/linux/mediatek/patches-5.4/999-2341-mtd-spinand-Add-support-etron.patch
@@ -23,7 +23,7 @@
 ===================================================================
 --- /dev/null
 +++ b/drivers/mtd/nand/spi/etron.c
-@@ -0,0 +1,196 @@
+@@ -0,0 +1,180 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
 + * Copyright (c) 2020 Etron Technology, Inc.
@@ -92,6 +92,8 @@
 +static int etron_ecc_get_status(struct spinand_device *spinand,
 +				   u8 status)
 +{
++	struct nand_device *nand = spinand_to_nand(spinand);
++
 +	switch (status & STATUS_ECC_MASK) {
 +	case STATUS_ECC_NO_BITFLIPS:
 +		return 0;
@@ -100,11 +102,10 @@
 +		return -EBADMSG;
 +
 +	case STATUS_ECC_HAS_BITFLIPS:
-+		return 1;
++		return nand->eccreq.strength >> 1;
 +
 +	case STATUS_ECC_LIMIT_BITFLIPS:
-+		return 3;
-+
++		return nand->eccreq.strength;
 +
 +	default:
 +		break;
@@ -192,23 +193,6 @@
 +		     SPINAND_ECCINFO(&etron_ooblayout, etron_ecc_get_status)),
 +};
 +
-+static int etron_spinand_detect(struct spinand_device *spinand)
-+{
-+	u8 *id = spinand->id.data;
-+	int ret;
-+
-+	if (id[1] != SPINAND_MFR_ETRON)
-+		return 0;
-+
-+	ret = spinand_match_and_init(spinand, etron_spinand_table,
-+				     ARRAY_SIZE(etron_spinand_table),
-+				     id[2]);
-+	if (ret)
-+		return ret;
-+
-+	return 1;
-+}
-+
 +static const struct spinand_manufacturer_ops etron_spinand_manuf_ops = {
 +};
 +
