generic: platform/mikrotik: release mtd device after use
[openwrt/staging/zorun.git] / target / linux / generic / files / drivers / platform / mikrotik / rb_hardconfig.c
index 41dea98b5e6df023d49d8a54129d5eb5f8e7496a..e6a6928896bb0ed0a7413b403720553bc5c7685c 100644 (file)
@@ -697,10 +697,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) {
+               put_mtd_device(mtd);
                return -ENOMEM;
+       }
 
        ret = mtd_read(mtd, 0, hc_buflen, &bytes_read, hc_buf);
+       put_mtd_device(mtd);
 
        if (ret)
                goto fail;