Merge branch 'linus' into sched/devel
[pandora-kernel.git] / arch / powerpc / sysdev / qe_lib / ucc_slow.c
index a578bc7..e1d6a13 100644 (file)
@@ -171,6 +171,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
        uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow));
        if (uccs->us_regs == NULL) {
                printk(KERN_ERR "%s: Cannot map UCC registers\n", __func__);
+               kfree(uccs);
                return -ENOMEM;
        }
 
@@ -367,10 +368,11 @@ void ucc_slow_free(struct ucc_slow_private * uccs)
        if (uccs->tx_base_offset)
                qe_muram_free(uccs->tx_base_offset);
 
-       if (uccs->us_pram) {
+       if (uccs->us_pram)
                qe_muram_free(uccs->us_pram_offset);
-               uccs->us_pram = NULL;
-       }
+
+       if (uccs->us_regs)
+               iounmap(uccs->us_regs);
 
        kfree(uccs);
 }