mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-22 01:56:51 +00:00
generic: platform/mikrotik: release mtd device after use
The code uses get_mtd_device_nm() which must be followed by a call to put_mtd_device() once the handle is no longer used. This fixes spurious shutdown console messages such as: [ 2256.334562] Removing MTD device #7 (soft_config) with use count 1 Reported-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> Signed-off-by: maurerr <mariusd84@gmail.com>
This commit is contained in:
parent
bc59dc56dc
commit
2447bc45ec
@ -697,10 +697,13 @@ int __init rb_hardconfig_init(struct kobject *rb_kobj)
|
|||||||
|
|
||||||
hc_buflen = mtd->size;
|
hc_buflen = mtd->size;
|
||||||
hc_buf = kmalloc(hc_buflen, GFP_KERNEL);
|
hc_buf = kmalloc(hc_buflen, GFP_KERNEL);
|
||||||
if (!hc_buf)
|
if (!hc_buf) {
|
||||||
|
put_mtd_device(mtd);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
ret = mtd_read(mtd, 0, hc_buflen, &bytes_read, hc_buf);
|
ret = mtd_read(mtd, 0, hc_buflen, &bytes_read, hc_buf);
|
||||||
|
put_mtd_device(mtd);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -686,6 +686,8 @@ static ssize_t sc_commit_store(struct kobject *kobj, struct kobj_attribute *attr
|
|||||||
}
|
}
|
||||||
write_unlock(&sc_bufrwl);
|
write_unlock(&sc_bufrwl);
|
||||||
|
|
||||||
|
put_mtd_device(mtd);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto mtdfail;
|
goto mtdfail;
|
||||||
|
|
||||||
@ -721,10 +723,13 @@ int __init rb_softconfig_init(struct kobject *rb_kobj)
|
|||||||
|
|
||||||
sc_buflen = mtd->size;
|
sc_buflen = mtd->size;
|
||||||
sc_buf = kmalloc(sc_buflen, GFP_KERNEL);
|
sc_buf = kmalloc(sc_buflen, GFP_KERNEL);
|
||||||
if (!sc_buf)
|
if (!sc_buf) {
|
||||||
|
put_mtd_device(mtd);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
ret = mtd_read(mtd, 0, sc_buflen, &bytes_read, sc_buf);
|
ret = mtd_read(mtd, 0, sc_buflen, &bytes_read, sc_buf);
|
||||||
|
put_mtd_device(mtd);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user