mtd/sm_ftl.c: fix wrong do_div() usage
Nicolas Pitre
nicolas.pitre at linaro.org
Wed Nov 4 12:21:21 PST 2015
do_div() is meant to be used with an unsigned dividend.
Signed-off-by: Nicolas Pitre <nico at linaro.org>
diff --git a/drivers/mtd/sm_ftl.c b/drivers/mtd/sm_ftl.c
index c23184a47f..b096f8bb05 100644
--- a/drivers/mtd/sm_ftl.c
+++ b/drivers/mtd/sm_ftl.c
@@ -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;
More information about the linux-mtd
mailing list