Skip to content

Commit

Permalink
snd/PCM: fasync BKL pushdown
Browse files Browse the repository at this point in the history
Chances are this is unneeded, but the code is twisty enough that it is hard
to tell.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
  • Loading branch information
Jonathan Corbet committed Jul 2, 2008
1 parent 70b028b commit 2db9f0a
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions sound/core/pcm_native.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <linux/mm.h>
#include <linux/file.h>
#include <linux/slab.h>
#include <linux/smp_lock.h>
#include <linux/time.h>
#include <linux/pm_qos_params.h>
#include <linux/uio.h>
Expand Down Expand Up @@ -3249,14 +3250,17 @@ static int snd_pcm_fasync(int fd, struct file * file, int on)
struct snd_pcm_file * pcm_file;
struct snd_pcm_substream *substream;
struct snd_pcm_runtime *runtime;
int err;
int err = -ENXIO;

lock_kernel();
pcm_file = file->private_data;
substream = pcm_file->substream;
snd_assert(substream != NULL, return -ENXIO);
snd_assert(substream != NULL, goto out);
runtime = substream->runtime;

err = fasync_helper(fd, file, on, &runtime->fasync);
out:
unlock_kernel();
if (err < 0)
return err;
return 0;
Expand Down

0 comments on commit 2db9f0a

Please sign in to comment.