Btrfs: add search and inode lookup ioctls
[cascardo/linux.git] / drivers / rtc / rtc-ep93xx.c
index 551332e..9da02d1 100644 (file)
@@ -128,12 +128,16 @@ static int __init ep93xx_rtc_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (res == NULL)
-               return -ENXIO;
+       if (res == NULL) {
+               err = -ENXIO;
+               goto fail_free;
+       }
 
        res = request_mem_region(res->start, resource_size(res), pdev->name);
-       if (res == NULL)
-               return -EBUSY;
+       if (res == NULL) {
+               err = -EBUSY;
+               goto fail_free;
+       }
 
        ep93xx_rtc->mmio_base = ioremap(res->start, resource_size(res));
        if (ep93xx_rtc->mmio_base == NULL) {
@@ -169,6 +173,8 @@ fail:
                pdev->dev.platform_data = NULL;
        }
        release_mem_region(res->start, resource_size(res));
+fail_free:
+       kfree(ep93xx_rtc);
        return err;
 }