Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a04267fd authored by Jeeja KP's avatar Jeeja KP Committed by Takashi Iwai
Browse files

ALSA: hdac: Fix to check if stream not in use in release



if the stream is decoupled and both link and host are used, while
releasing the stream, need to check if link and host stream are
not in use. This patch adds fix to check if the host/link stream
is in used before coupling it back when releasing the stream.

Signed-off-by: default avatarJeeja KP <jeeja.kp@intel.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 88b19968
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -385,14 +385,13 @@ void snd_hdac_ext_stream_release(struct hdac_ext_stream *stream, int type)
		break;

	case HDAC_EXT_STREAM_TYPE_HOST:
		if (stream->decoupled) {
		if (stream->decoupled && !stream->link_locked)
			snd_hdac_ext_stream_decouple(ebus, stream, false);
		snd_hdac_stream_release(&stream->hstream);
		}
		break;

	case HDAC_EXT_STREAM_TYPE_LINK:
		if (stream->decoupled)
		if (stream->decoupled && !stream->hstream.opened)
			snd_hdac_ext_stream_decouple(ebus, stream, false);
		spin_lock_irq(&bus->reg_lock);
		stream->link_locked = 0;