ret = perf_session__cpu_bitmap(session, rep->cpu_list,
                                               rep->cpu_bitmap);
                if (ret)
-                       goto out_delete;
+                       return ret;
        }
 
        if (use_browser <= 0)
 
        ret = perf_report__setup_sample_type(rep);
        if (ret)
-               goto out_delete;
+               return ret;
 
        ret = perf_session__process_events(session, &rep->tool);
        if (ret)
-               goto out_delete;
+               return ret;
 
        kernel_map = session->machines.host.vmlinux_maps[MAP__FUNCTION];
        kernel_kmap = map__kmap(kernel_map);
 
        if (dump_trace) {
                perf_session__fprintf_nr_events(session, stdout);
-               goto out_delete;
+               return 0;
        }
 
        nr_samples = 0;
 
        if (nr_samples == 0) {
                ui__error("The %s file has no samples!\n", session->filename);
-               goto out_delete;
+               return 0;
        }
 
        list_for_each_entry(pos, &session->evlist->entries, node)
        } else
                perf_evlist__tty_browse_hists(session->evlist, rep, help);
 
-out_delete:
-       /*
-        * Speed up the exit process, for large files this can
-        * take quite a while.
-        *
-        * XXX Enable this when using valgrind or if we ever
-        * librarize this command.
-        *
-        * Also experiment with obstacks to see how much speed
-        * up we'll get here.
-        *
-        * perf_session__delete(session);
-        */
        return ret;
 }