forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/drivers/mtd/nand/bbt.c
....@@ -116,7 +116,10 @@
116116 if (entry >= nanddev_neraseblocks(nand))
117117 return -ERANGE;
118118
119
- pos[0] &= ~GENMASK(offs + bits_per_block - 1, offs);
119
+ if (bits_per_block + offs > BITS_PER_LONG)
120
+ pos[0] &= ~GENMASK(BITS_PER_LONG - 1, offs);
121
+ else
122
+ pos[0] &= ~GENMASK(offs + bits_per_block - 1, offs);
120123 pos[0] |= val << offs;
121124
122125 if (bits_per_block + offs > BITS_PER_LONG) {