Add a call to pfm_pmu_conf->unload_context() (if available) to the error path
in __pfm_load_context().

Signed-off-by: Kevin Corry <[EMAIL PROTECTED]>
Signed-off-by: Carl Love <[EMAIL PROTECTED]>

Index: linux-2.6.21-perfmon1/perfmon/perfmon.c
===================================================================
--- linux-2.6.21-perfmon1.orig/perfmon/perfmon.c
+++ linux-2.6.21-perfmon1/perfmon/perfmon.c
@@ -1295,7 +1295,7 @@ int __pfm_load_context(struct pfm_contex
        if (pfm_pmu_conf->load_context) {
                ret = pfm_pmu_conf->load_context(ctx);
                if (ret)
-                       goto error;
+                       goto error_arch_loaded;
        }
 
        /*
@@ -1378,6 +1378,9 @@ int __pfm_load_context(struct pfm_contex
        return 0;
 
 error:
+       if (pfm_pmu_conf->unload_context)
+               ret = pfm_pmu_conf->unload_context(ctx);
+error_arch_loaded:
        pfm_arch_unload_context(ctx, task);
 error_noload:
        /*
_______________________________________________
perfmon mailing list
perfmon@linux.hpl.hp.com
http://www.hpl.hp.com/hosted/linux/mail-archives/perfmon/

Reply via email to