Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5a527d80 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Greg Kroah-Hartman
Browse files

mtd: bcm47xxpart: fix parsing first block after aligned TRX



commit bd5d21310133921021d78995ad6346f908483124 upstream.

After parsing TRX we should skip to the first block placed behind it.
Our code was working only with TRX with length not aligned to the
blocksize. In other cases (length aligned) it was missing the block
places right after TRX.

This fixes calculation and simplifies the comment.

Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
Signed-off-by: default avatarAmit Pundir <amit.pundir@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 297f55bc
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -225,12 +225,10 @@ static int bcm47xxpart_parse(struct mtd_info *master,

			last_trx_part = curr_part - 1;

			/*
			 * We have whole TRX scanned, skip to the next part. Use
			 * roundown (not roundup), as the loop will increase
			 * offset in next step.
			 */
			offset = rounddown(offset + trx->length, blocksize);
			/* Jump to the end of TRX */
			offset = roundup(offset + trx->length, blocksize);
			/* Next loop iteration will increase the offset */
			offset -= blocksize;
			continue;
		}