From e10830193c9377b0cb8788c9b22c4936d395fcc3 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Wed, 12 May 2021 11:41:26 +0200 Subject: [PATCH] generic: platform/mikrotik: release mtd device after use MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Tested-by: Koen Vandeputte Signed-off-by: Thibaut VARÈNE [Backported from master] Signed-off-by: Koen Vandeputte --- .../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; -- 2.30.2