aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/generic/files/drivers/platform/mikrotik/rb_hardconfig.c5
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;