Words from Willem-Jan de Hoog: On OpenWrt 22.03.3, Asus RT-AC88U does not boot anymore: UBI: auto-attach mtd4 ubi0: attaching mtd4 ubi0 error: 0xc04f0b3c: PEB 0 contains corrupted VID header, and the data does not contain all 0xFF ubi0 error: 0xc04f0b4c: this may be a non-UBI PEB or a severe VID header corruption which requires manual inspection The problem seems to be that brcm_nvram_read accesses its (mapped) io memory. When doing so the correct data is read but after that the mtd/ubi process fails to work. The bcm47xx_nvram.c code has buffered the nvram data so the cells value can be read from there. v2: Fix the wrong author information. Willem-Jan de Hoog (2): firmware: bcm47xx_nvram: allow to read from buffered nvram data nvmem: brcm_nvram: use bcm47xx buffered data drivers/firmware/broadcom/bcm47xx_nvram.c | 14 ++++++++++++++ drivers/nvmem/brcm_nvram.c | 8 ++++++++ include/linux/bcm47xx_nvram.h | 6 ++++++ 3 files changed, 28 insertions(+)