ath79: fix block protection clearing
authorNick Hainke <vincent@systemli.org>
Sat, 24 Oct 2020 22:52:47 +0000 (00:52 +0200)
committerDavid Bauer <mail@david-bauer.net>
Mon, 26 Oct 2020 01:35:55 +0000 (02:35 +0100)
commitc9e9b8c342d918cedfc4d2e1c2f7fd1fcaf0b56b
tree20b6c08c7a9d1a25c2c44dec2aeef2d3edebfa4a
parentc1130c7a6bd6cde9a9984da10de0edf47161df33
ath79: fix block protection clearing

The block protection bits of macronix do not match the implementation.
The chip has 3 BP bits. Bit 5 is actually the third BP but here the
5th bit is SR_TB. Therefore the patch adds SR_TB to the mask. In the
4.19er kernel the whole register was simply set to 0.

The wrong implementation did not remove the block protection. This led
to jffs2 errors in the form of:
"jffs2: Newly-erased block contained word 0x19852003 at offset 0x..."
This caused inconsistent memory and other errors.

Suggested-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Nick Hainke <vincent@systemli.org>
target/linux/ath79/patches-5.4/450-fix-block-protection-clearing.patch [new file with mode: 0644]