Commit 6fe4c590313133ebd5dadb769031489ff178ece1
Committed by
David Woodhouse
1 parent
6411bf6cdf
Exists in
master
and in
20 other branches
MTD: Fix wrong check register_blkdev return value
register_blkdev return 1..255 when major = 0. if (ret ) { printk(KERN_WARNING "Unable to register %s block device on major %d: %d\n", tr->name, tr->major, ret); mutex_unlock(&mtd_table_mutex); return ret; } Above code will return fail when register_blkdev return allocated major number. Signed-off-by: Frank Li <Frank.Li@freescale.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Showing 1 changed file with 4 additions and 1 deletions Side-by-side Diff
drivers/mtd/mtd_blkdevs.c
... | ... | @@ -502,12 +502,15 @@ |
502 | 502 | mutex_lock(&mtd_table_mutex); |
503 | 503 | |
504 | 504 | ret = register_blkdev(tr->major, tr->name); |
505 | - if (ret) { | |
505 | + if (ret < 0) { | |
506 | 506 | printk(KERN_WARNING "Unable to register %s block device on major %d: %d\n", |
507 | 507 | tr->name, tr->major, ret); |
508 | 508 | mutex_unlock(&mtd_table_mutex); |
509 | 509 | return ret; |
510 | 510 | } |
511 | + | |
512 | + if (ret) | |
513 | + tr->major = ret; | |
511 | 514 | |
512 | 515 | tr->blkshift = ffs(tr->blksize) - 1; |
513 | 516 |