Exemple #1
0
static int lx_hardware_stop(struct lx6464es *chip,
			    struct snd_pcm_substream *substream)
{
	int err = 0;
	int is_capture = (substream->stream == SNDRV_PCM_STREAM_CAPTURE);

	dev_dbg(chip->card->dev, "pausing pipe\n");
	err = lx_pipe_pause(chip, 0, is_capture);
	if (err < 0) {
		dev_err(chip->card->dev, "pausing pipe failed\n");
		return err;
	}

	dev_dbg(chip->card->dev, "waiting for pipe to become idle\n");
	err = lx_pipe_wait_for_idle(chip, 0, is_capture);
	if (err < 0) {
		dev_err(chip->card->dev, "waiting for pipe failed\n");
		return err;
	}

	dev_dbg(chip->card->dev, "stopping pipe\n");
	err = lx_pipe_stop(chip, 0, is_capture);
	if (err < 0) {
		dev_err(chip->card->dev, "stopping pipe failed\n");
		return err;
	}

	return err;
}
static int lx_hardware_stop(struct lx6464es *chip,
			    struct snd_pcm_substream *substream)
{
	int err = 0;
	int is_capture = (substream->stream == SNDRV_PCM_STREAM_CAPTURE);

	snd_printd(LXP "pausing pipe\n");
	err = lx_pipe_pause(chip, 0, is_capture);
	if (err < 0) {
		snd_printk(KERN_ERR LXP "pausing pipe failed\n");
		return err;
	}

	snd_printd(LXP "waiting for pipe to become idle\n");
	err = lx_pipe_wait_for_idle(chip, 0, is_capture);
	if (err < 0) {
		snd_printk(KERN_ERR LXP "waiting for pipe failed\n");
		return err;
	}

	snd_printd(LXP "stopping pipe\n");
	err = lx_pipe_stop(chip, 0, is_capture);
	if (err < 0) {
		snd_printk(LXP "stopping pipe failed\n");
		return err;
	}

	return err;
}