Winbond-NMBM-fix.patch 807 B

12345678910111213141516171819
  1. --- a/target/linux/generic/files/drivers/mtd/nand/mtk_bmt_nmbm.c
  2. +++ b/target/linux/generic/files/drivers/mtd/nand/mtk_bmt_nmbm.c
  3. @@ -2200,11 +2200,15 @@ static int nmbm_attach(struct nmbm_instance *ni)
  4. if (ni->signature.nand_size != bmtd.total_blks << bmtd.blk_shift ||
  5. ni->signature.block_size != bmtd.blk_size ||
  6. ni->signature.page_size != bmtd.pg_size ||
  7. - ni->signature.spare_size != bmtd.mtd->oobsize) {
  8. + ni->signature.spare_size > bmtd.mtd->oobsize) {
  9. nlog_err(ni, "NMBM configuration mismatch\n");
  10. return -EINVAL;
  11. }
  12. + if (ni->signature.spare_size < bmtd.mtd->oobsize)
  13. + nlog_warn(ni, "NMBM spare size (%u) is less than mtd oob size (%u)\n",
  14. + ni->signature.spare_size, bmtd.mtd->oobsize);
  15. +
  16. success = nmbm_load_existing(ni);
  17. if (!success)
  18. return -ENODEV;