Commit 1c07db46 authored by Nicolas Pitre's avatar Nicolas Pitre
Browse files

mtd/sm_ftl.c: fix wrong do_div() usage



do_div() is meant to be used with an unsigned dividend.

Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
parent c24ca5be
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -206,9 +206,10 @@ static loff_t sm_mkoffset(struct sm_ftl *ftl, int zone, int block, int boffset)
}

/* Breaks offset into parts */
static void sm_break_offset(struct sm_ftl *ftl, loff_t offset,
static void sm_break_offset(struct sm_ftl *ftl, loff_t loffset,
			    int *zone, int *block, int *boffset)
{
	u64 offset = loffset;
	*boffset = do_div(offset, ftl->block_size);
	*block = do_div(offset, ftl->max_lba);
	*zone = offset >= ftl->zone_count ? -1 : offset;