X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fnvmem%2Fmxs-ocotp.c;h=2bb3c5799ac4b0146b2760d8823fb1eb28a6bdaa;hb=83fb4e1f93adb50a1c90d1554e72a0d64ce6eb57;hp=8ba19bba31569f22c6529a739fa1d30adf5c2f0f;hpb=63f4f7e8df6c504f39c6493799b54775916030d6;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/nvmem/mxs-ocotp.c b/drivers/nvmem/mxs-ocotp.c index 8ba19bba3156..2bb3c5799ac4 100644 --- a/drivers/nvmem/mxs-ocotp.c +++ b/drivers/nvmem/mxs-ocotp.c @@ -94,7 +94,7 @@ static int mxs_ocotp_read(void *context, const void *reg, size_t reg_size, if (ret) goto close_banks; - while (val_size) { + while (val_size >= reg_size) { if ((offset < OCOTP_DATA_OFFSET) || (offset % 16)) { /* fill up non-data register */ *buf = 0; @@ -103,7 +103,7 @@ static int mxs_ocotp_read(void *context, const void *reg, size_t reg_size, } buf++; - val_size--; + val_size -= reg_size; offset += reg_size; }