diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-05 18:00:22 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-05 18:00:22 -0800 |
commit | d7fe321eeba58f0a37cc4324d10e52092be457e0 (patch) | |
tree | d77116255f52e5b7b9484b4df41c55126cf06882 | |
parent | 4a0d3f3afddf01dfcfdcc826f0b706dbc01f4ef4 (diff) | |
parent | f7f0283776b6fe33f87f6a2ef15b1feb49ef6dac (diff) |
Merge branch 'for-linus' of git://git.infradead.org/~dedekind/ubi-2.6
* 'for-linus' of git://git.infradead.org/~dedekind/ubi-2.6:
UBI: mtd/ubi/vtbl.c: fix memory leak
UBI: fix sparse errors in ubi.h
UBI: fix error message
UBI: silence warning
-rw-r--r-- | drivers/mtd/ubi/build.c | 4 | ||||
-rw-r--r-- | drivers/mtd/ubi/ubi.h | 10 | ||||
-rw-r--r-- | drivers/mtd/ubi/vmt.c | 4 | ||||
-rw-r--r-- | drivers/mtd/ubi/vtbl.c | 1 |
4 files changed, 11 insertions, 8 deletions
diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c index 6ac81e35355c..275960462970 100644 --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c @@ -1000,8 +1000,8 @@ static int __init ubi_init(void) mutex_unlock(&ubi_devices_mutex); if (err < 0) { put_mtd_device(mtd); - printk(KERN_ERR "UBI error: cannot attach %s\n", - p->name); + printk(KERN_ERR "UBI error: cannot attach mtd%d\n", + mtd->index); goto out_detach; } } diff --git a/drivers/mtd/ubi/ubi.h b/drivers/mtd/ubi/ubi.h index 457710615261..a548c1d28fa8 100644 --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h @@ -217,11 +217,11 @@ struct ubi_volume { void *upd_buf; int *eba_tbl; - int checked:1; - int corrupted:1; - int upd_marker:1; - int updating:1; - int changing_leb:1; + unsigned int checked:1; + unsigned int corrupted:1; + unsigned int upd_marker:1; + unsigned int updating:1; + unsigned int changing_leb:1; #ifdef CONFIG_MTD_UBI_GLUEBI /* diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c index a3ca2257e601..5be58d85c639 100644 --- a/drivers/mtd/ubi/vmt.c +++ b/drivers/mtd/ubi/vmt.c @@ -376,7 +376,9 @@ out_sysfs: get_device(&vol->dev); volume_sysfs_close(vol); out_gluebi: - ubi_destroy_gluebi(vol); + if (ubi_destroy_gluebi(vol)) + dbg_err("cannot destroy gluebi for volume %d:%d", + ubi->ubi_num, vol_id); out_cdev: cdev_del(&vol->cdev); out_mapping: diff --git a/drivers/mtd/ubi/vtbl.c b/drivers/mtd/ubi/vtbl.c index 56fc3fbce838..af36b12be278 100644 --- a/drivers/mtd/ubi/vtbl.c +++ b/drivers/mtd/ubi/vtbl.c @@ -519,6 +519,7 @@ static int init_volumes(struct ubi_device *ubi, const struct ubi_scan_info *si, if (ubi->autoresize_vol_id != -1) { ubi_err("more then one auto-resize volume (%d " "and %d)", ubi->autoresize_vol_id, i); + kfree(vol); return -EINVAL; } |