mtd/sm_ftl.c: fix wrong do_div() usage
authorNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 4 Nov 2015 04:09:58 +0000 (23:09 -0500)
committerNicolas Pitre <nicolas.pitre@linaro.org>
Mon, 16 Nov 2015 17:39:56 +0000 (12:39 -0500)
do_div() is meant to be used with an unsigned dividend.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
drivers/mtd/sm_ftl.c

index c23184a..b096f8b 100644 (file)
@@ -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;