[openwrt/openwrt] generic: platform/mikrotik: release mtd device after use

LEDE Commits lede-commits at lists.infradead.org
Wed May 12 02:42:52 PDT 2021


xback pushed a commit to openwrt/openwrt.git, branch openwrt-19.07:
https://git.openwrt.org/e10830193c9377b0cb8788c9b22c4936d395fcc3

commit e10830193c9377b0cb8788c9b22c4936d395fcc3
Author: Koen Vandeputte <koen.vandeputte at ncentric.com>
AuthorDate: Wed May 12 11:41:26 2021 +0200

    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 at ncentric.com>
    Tested-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
    Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
    [Backported from master]
    Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
---
 target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c b/target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c
index 46dc476003..01cf46b668 100644
--- a/target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c
+++ b/target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c
@@ -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;



More information about the lede-commits mailing list