Merge branch 'master' of git://git.infradead.org/users/eparis/selinux into for-linus
[firefly-linux-kernel-4.4.55.git] / drivers / mtd / tests / mtd_speedtest.c
index 3ce6fce75e075401bda65f8edc1140e29775c17a..627d4e2466a3bccbedd3ca27c304f2b47bd414ca 100644 (file)
@@ -314,16 +314,16 @@ static inline void stop_timing(void)
 
 static long calc_speed(void)
 {
-       long ms, k, speed;
+       uint64_t k;
+       long ms;
 
        ms = (finish.tv_sec - start.tv_sec) * 1000 +
             (finish.tv_usec - start.tv_usec) / 1000;
-       k = goodebcnt * mtd->erasesize / 1024;
-       if (ms)
-               speed = (k * 1000) / ms;
-       else
-               speed = 0;
-       return speed;
+       if (ms == 0)
+               return 0;
+       k = goodebcnt * (mtd->erasesize / 1024) * 1000;
+       do_div(k, ms);
+       return k;
 }
 
 static int scan_for_bad_eraseblocks(void)