| From 84e3f3f56a90e763172949cdc21be7793dadbfd8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 15 Apr 2020 12:28:49 -0400 |
| Subject: ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> |
| |
| [ Upstream commit 326b509238171d37402dbe308e154cc234ed1960 ] |
| |
| If we don't find any pcm, pcm will point at address at an offset from |
| the the list head and not a meaningful structure. Fix this by returning |
| correct pcm if found and NULL if not. Found with coccinelle. |
| |
| Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> |
| Link: https://lore.kernel.org/r/20200415162849.308-1-amadeuszx.slawinski@linux.intel.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/codecs/hdac_hdmi.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c |
| index be2473166bfaf..4594b1447900a 100644 |
| --- a/sound/soc/codecs/hdac_hdmi.c |
| +++ b/sound/soc/codecs/hdac_hdmi.c |
| @@ -148,14 +148,14 @@ static struct hdac_hdmi_pcm * |
| hdac_hdmi_get_pcm_from_cvt(struct hdac_hdmi_priv *hdmi, |
| struct hdac_hdmi_cvt *cvt) |
| { |
| - struct hdac_hdmi_pcm *pcm = NULL; |
| + struct hdac_hdmi_pcm *pcm; |
| |
| list_for_each_entry(pcm, &hdmi->pcm_list, head) { |
| if (pcm->cvt == cvt) |
| - break; |
| + return pcm; |
| } |
| |
| - return pcm; |
| + return NULL; |
| } |
| |
| static void hdac_hdmi_jack_report(struct hdac_hdmi_pcm *pcm, |
| -- |
| 2.20.1 |
| |