kref_init(&trace->kref);
init_waitqueue_head(&trace->kref_wq);
trace->active = 0;
- get_trace_clock();
+ err = get_trace_clock();
+ if (err)
+ goto traces_error;
trace->freq_scale = trace_clock_freq_scale();
if (!trace->transport) {
for (i = 0; i < nr_channels; i++) {
struct ltt_chan *chan = &channels[i];
- chan->a.trace->ops->start_switch_timer(chan);
+
+ if (chan->active)
+ chan->a.trace->ops->start_switch_timer(chan);
}
}
for (i = 0; i < nr_channels; i++) {
struct ltt_chan *chan = &channels[i];
- chan->a.trace->ops->stop_switch_timer(chan);
+
+ if (chan->active)
+ chan->a.trace->ops->stop_switch_timer(chan);
}
}