diff options
author | 2013-01-27 10:20:22 +0100 | |
---|---|---|
committer | 2013-01-27 10:20:22 +0100 | |
commit | 257c2a02a8f668ea195bcb56eebbddc1af718e5e (patch) | |
tree | 27ccff43bc36d119dc3afeaf610638a56f4bf3ea /kernel/trace | |
parent | ALSA: hda - Add a fixup for Packard-Bell desktop with ALC880 (diff) | |
parent | Merge remote-tracking branch 'asoc/fix/wm2200' into tmp (diff) | |
download | wireguard-linux-257c2a02a8f668ea195bcb56eebbddc1af718e5e.tar.xz wireguard-linux-257c2a02a8f668ea195bcb56eebbddc1af718e5e.zip |
Merge tag 'asoc-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v3.8-rc4
The usual set of driver updates, nothing too thrilling in here - one
core change for the regulator bypass mode which was just not doing the
right thing at all and a bunch of driver specifics.
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/trace.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index e5125677efa0..3c13e46d7d24 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2899,6 +2899,8 @@ tracing_trace_options_write(struct file *filp, const char __user *ubuf, if (copy_from_user(&buf, ubuf, cnt)) return -EFAULT; + buf[cnt] = 0; + trace_set_options(buf); *ppos += cnt; @@ -3452,7 +3454,7 @@ static int tracing_wait_pipe(struct file *filp) return -EINTR; /* - * We block until we read something and tracing is enabled. + * We block until we read something and tracing is disabled. * We still block if tracing is disabled, but we have never * read anything. This allows a user to cat this file, and * then enable tracing. But after we have read something, @@ -3460,7 +3462,7 @@ static int tracing_wait_pipe(struct file *filp) * * iter->pos will be 0 if we haven't read anything. */ - if (tracing_is_enabled() && iter->pos) + if (!tracing_is_enabled() && iter->pos) break; } @@ -4815,10 +4817,17 @@ rb_simple_write(struct file *filp, const char __user *ubuf, return ret; if (buffer) { - if (val) + mutex_lock(&trace_types_lock); + if (val) { ring_buffer_record_on(buffer); - else + if (current_trace->start) + current_trace->start(tr); + } else { ring_buffer_record_off(buffer); + if (current_trace->stop) + current_trace->stop(tr); + } + mutex_unlock(&trace_types_lock); } (*ppos)++; |