diff --git a/drivers/soc/rockchip/mtd_vendor_storage.c b/drivers/soc/rockchip/mtd_vendor_storage.c index c2f8f402de77..b37a8c8e2201 100644 --- a/drivers/soc/rockchip/mtd_vendor_storage.c +++ b/drivers/soc/rockchip/mtd_vendor_storage.c @@ -259,8 +259,7 @@ static int mtd_vendor_write(u32 id, void *pbuf, u32 size) item->size = size; memcpy(&p_data[item->offset], pbuf, size); g_vendor->free_offset = offset + align_size; - g_vendor->free_size -= (align_size - - alloc_size); + g_vendor->free_size = sizeof(g_vendor->data) - g_vendor->free_offset; } else { memcpy(&p_data[item->offset], pbuf,