aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/tests/speedtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/tests/speedtest.c')
-rw-r--r--drivers/mtd/tests/speedtest.c38
1 files changed, 30 insertions, 8 deletions
diff --git a/drivers/mtd/tests/speedtest.c b/drivers/mtd/tests/speedtest.c
index 5ee9f7021020..5a6f31af06f9 100644
--- a/drivers/mtd/tests/speedtest.c
+++ b/drivers/mtd/tests/speedtest.c
@@ -185,7 +185,7 @@ static long calc_speed(void)
185 (finish.tv_usec - start.tv_usec) / 1000; 185 (finish.tv_usec - start.tv_usec) / 1000;
186 if (ms == 0) 186 if (ms == 0)
187 return 0; 187 return 0;
188 k = goodebcnt * (mtd->erasesize / 1024) * 1000; 188 k = (uint64_t)goodebcnt * (mtd->erasesize / 1024) * 1000;
189 do_div(k, ms); 189 do_div(k, ms);
190 return k; 190 return k;
191} 191}
@@ -269,7 +269,10 @@ static int __init mtd_speedtest_init(void)
269 err = write_eraseblock(i); 269 err = write_eraseblock(i);
270 if (err) 270 if (err)
271 goto out; 271 goto out;
272 cond_resched(); 272
273 err = mtdtest_relax();
274 if (err)
275 goto out;
273 } 276 }
274 stop_timing(); 277 stop_timing();
275 speed = calc_speed(); 278 speed = calc_speed();
@@ -284,7 +287,10 @@ static int __init mtd_speedtest_init(void)
284 err = read_eraseblock(i); 287 err = read_eraseblock(i);
285 if (err) 288 if (err)
286 goto out; 289 goto out;
287 cond_resched(); 290
291 err = mtdtest_relax();
292 if (err)
293 goto out;
288 } 294 }
289 stop_timing(); 295 stop_timing();
290 speed = calc_speed(); 296 speed = calc_speed();
@@ -303,7 +309,10 @@ static int __init mtd_speedtest_init(void)
303 err = write_eraseblock_by_page(i); 309 err = write_eraseblock_by_page(i);
304 if (err) 310 if (err)
305 goto out; 311 goto out;
306 cond_resched(); 312
313 err = mtdtest_relax();
314 if (err)
315 goto out;
307 } 316 }
308 stop_timing(); 317 stop_timing();
309 speed = calc_speed(); 318 speed = calc_speed();
@@ -318,7 +327,10 @@ static int __init mtd_speedtest_init(void)
318 err = read_eraseblock_by_page(i); 327 err = read_eraseblock_by_page(i);
319 if (err) 328 if (err)
320 goto out; 329 goto out;
321 cond_resched(); 330
331 err = mtdtest_relax();
332 if (err)
333 goto out;
322 } 334 }
323 stop_timing(); 335 stop_timing();
324 speed = calc_speed(); 336 speed = calc_speed();
@@ -337,7 +349,10 @@ static int __init mtd_speedtest_init(void)
337 err = write_eraseblock_by_2pages(i); 349 err = write_eraseblock_by_2pages(i);
338 if (err) 350 if (err)
339 goto out; 351 goto out;
340 cond_resched(); 352
353 err = mtdtest_relax();
354 if (err)
355 goto out;
341 } 356 }
342 stop_timing(); 357 stop_timing();
343 speed = calc_speed(); 358 speed = calc_speed();
@@ -352,7 +367,10 @@ static int __init mtd_speedtest_init(void)
352 err = read_eraseblock_by_2pages(i); 367 err = read_eraseblock_by_2pages(i);
353 if (err) 368 if (err)
354 goto out; 369 goto out;
355 cond_resched(); 370
371 err = mtdtest_relax();
372 if (err)
373 goto out;
356 } 374 }
357 stop_timing(); 375 stop_timing();
358 speed = calc_speed(); 376 speed = calc_speed();
@@ -385,7 +403,11 @@ static int __init mtd_speedtest_init(void)
385 err = multiblock_erase(i, j); 403 err = multiblock_erase(i, j);
386 if (err) 404 if (err)
387 goto out; 405 goto out;
388 cond_resched(); 406
407 err = mtdtest_relax();
408 if (err)
409 goto out;
410
389 i += j; 411 i += j;
390 } 412 }
391 stop_timing(); 413 stop_timing();