diff --git a/[refs] b/[refs] index d5d11e64a008..e9702e909a5f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c53026722b5e5aaaf434565ddbe4d918c7d2a80d +refs/heads/master: 422ca8608c49d1e9bfed1c58a1ca448a8a38c0ad diff --git a/trunk/fs/pstore/ram_core.c b/trunk/fs/pstore/ram_core.c index 0306303be372..e5afa222c213 100644 --- a/trunk/fs/pstore/ram_core.c +++ b/trunk/fs/pstore/ram_core.c @@ -187,7 +187,8 @@ static int persistent_ram_init_ecc(struct persistent_ram_zone *prz, prz->ecc_block_size = 128; prz->ecc_size = ecc_size; - ecc_blocks = DIV_ROUND_UP(prz->buffer_size, prz->ecc_block_size); + ecc_blocks = DIV_ROUND_UP(prz->buffer_size - prz->ecc_size, + prz->ecc_block_size + prz->ecc_size); ecc_total = (ecc_blocks + 1) * prz->ecc_size; if (ecc_total >= prz->buffer_size) { pr_err("%s: invalid ecc_size %u (total %zu, buffer size %zu)\n",