ALSA: hda: ext: remove always-true conditions on host and link release
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 19 Sep 2022 12:10:41 +0000 (14:10 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 20 Sep 2022 06:08:14 +0000 (08:08 +0200)
By construction a host and link DMA are always decoupled. This
decoupling happens in the assign() phase. There's no point in checking
if the two parts are decoupled, this is by-design always-true.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20220919121041.43463-9-pierre-louis.bossart@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/ext/hdac_ext_stream.c

index 9a2bc7e803dd6b263cb995dabe702579220bea35..70f3ad71aaf0dcf557b8c1bf75d47babce3a9d96 100644 (file)
@@ -382,7 +382,8 @@ void snd_hdac_ext_stream_release(struct hdac_ext_stream *hext_stream, int type)
 
        case HDAC_EXT_STREAM_TYPE_HOST:
                spin_lock_irq(&bus->reg_lock);
-               if (hext_stream->decoupled && !hext_stream->link_locked)
+               /* couple link only if not in use */
+               if (!hext_stream->link_locked)
                        snd_hdac_ext_stream_decouple_locked(bus, hext_stream, false);
                snd_hdac_stream_release_locked(&hext_stream->hstream);
                spin_unlock_irq(&bus->reg_lock);
@@ -390,7 +391,8 @@ void snd_hdac_ext_stream_release(struct hdac_ext_stream *hext_stream, int type)
 
        case HDAC_EXT_STREAM_TYPE_LINK:
                spin_lock_irq(&bus->reg_lock);
-               if (hext_stream->decoupled && !hext_stream->hstream.opened)
+               /* couple host only if not in use */
+               if (!hext_stream->hstream.opened)
                        snd_hdac_ext_stream_decouple_locked(bus, hext_stream, false);
                hext_stream->link_locked = 0;
                hext_stream->link_substream = NULL;