diff options
author | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2021-05-12 11:41:26 +0200 |
---|---|---|
committer | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2021-05-12 11:42:31 +0200 |
commit | e10830193c9377b0cb8788c9b22c4936d395fcc3 (patch) | |
tree | 7ffb4a7b9bc07f76c93cf88f568fbffa66faaf4a /target/linux/generic/files/drivers | |
parent | f342de468b86be34a8be3e4a26e7089551991608 (diff) | |
download | upstream-e10830193c9377b0cb8788c9b22c4936d395fcc3.tar.gz upstream-e10830193c9377b0cb8788c9b22c4936d395fcc3.tar.bz2 upstream-e10830193c9377b0cb8788c9b22c4936d395fcc3.zip |
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>
Diffstat (limited to 'target/linux/generic/files/drivers')
-rw-r--r-- | target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c | 5 |
1 files changed, 4 insertions, 1 deletions
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; |