OSDN Git Service

mtd: sm_ftl: fix wrong do_div() usage
authorNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 4 Nov 2015 20:21:21 +0000 (15:21 -0500)
committerBrian Norris <computersforpeace@gmail.com>
Mon, 16 Nov 2015 23:07:16 +0000 (15:07 -0800)
do_div() is meant to be used with an unsigned dividend.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
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;