From: Kuninori Morimoto Date: Fri, 3 Feb 2012 08:57:40 +0000 (-0800) Subject: ASoC: fsi: fsi_stream_is_working() care substream->runtime X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=97df81873e9c1391319dd818bc4b6856517e4939;p=openwrt%2Fstaging%2Fblogic.git ASoC: fsi: fsi_stream_is_working() care substream->runtime Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown --- diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c index 8d05e59c8831..1e10184af89a 100644 --- a/sound/soc/sh/fsi.c +++ b/sound/soc/sh/fsi.c @@ -450,7 +450,7 @@ static int fsi_stream_is_working(struct fsi_priv *fsi, int ret; spin_lock_irqsave(&master->lock, flags); - ret = !!io->substream; + ret = !!(io->substream && io->substream->runtime); spin_unlock_irqrestore(&master->lock, flags); return ret; @@ -756,9 +756,7 @@ static int fsi_pio_transfer(struct fsi_priv *fsi, struct fsi_stream *io, u8 *buf; int over_period; - if (!fsi || - !io->substream || - !io->substream->runtime) + if (!fsi_stream_is_working(fsi, io)) return -EINVAL; over_period = 0;