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:
[   83.099037] Removing MTD device #1 (hard_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>
[Backported from master]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
Koen Vandeputte 2021-05-12 11:41:26 +02:00
parent f342de468b
commit e10830193c
1 changed files with 4 additions and 1 deletions

View File

@ -682,10 +682,13 @@ int __init rb_hardconfig_init(struct kobject *rb_kobj)
hc_buflen = mtd->size;
hc_buf = kmalloc(hc_buflen, GFP_KERNEL);
if (!hc_buf)
if (!hc_buf) {
return -ENOMEM;
put_mtd_device(mtd);
}
ret = mtd_read(mtd, 0, hc_buflen, &bytes_read, hc_buf);
put_mtd_device(mtd);
if (bytes_read != hc_buflen) {
ret = -EIO;