[PATCH RESEND] ALSA: pcm_drm_eld: rate-limit ELD parsing errors

Francesco Saverio Pavone posted 1 patch 1 week, 1 day ago
sound/core/pcm_drm_eld.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH RESEND] ALSA: pcm_drm_eld: rate-limit ELD parsing errors
Posted by Francesco Saverio Pavone 1 week, 1 day ago

Mirror of Mark Brown's ASoC: hdac_hdmi rate-limit patch (commit
[lkml.kernel.org/lkml/2025/6/13/1380]) for the generic snd_parse_eld()
helper used by ASoC hdmi-codec.

When a HDMI sink is disconnected (e.g. a board with two HDMI outputs and
only one cable), userspace audio servers like PipeWire keep probing the
disconnected card and trigger:

    HDMI: Unknown ELD version 0

at every probe — easily 30+ messages per burst on rk3588. The same
applies to malformed ELD (MNL out of range). Both conditions are
expected when no sink is attached; rate-limit the dev_info() so the
kernel ring buffer does not fill up.

Signed-off-by: Francesco Saverio Pavone <pavone.lawyer@gmail.com>
---
 sound/core/pcm_drm_eld.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/core/pcm_drm_eld.c b/sound/core/pcm_drm_eld.c
index cb2eebaac85f..1941ee520063 100644
--- a/sound/core/pcm_drm_eld.c
+++ b/sound/core/pcm_drm_eld.c
@@ -334,7 +334,7 @@ int snd_parse_eld(struct device *dev, struct snd_parsed_hdmi_eld *e,
 	e->eld_ver = GRAB_BITS(buf, 0, 3, 5);
 	if (e->eld_ver != ELD_VER_CEA_861D &&
 	    e->eld_ver != ELD_VER_PARTIAL) {
-		dev_info(dev, "HDMI: Unknown ELD version %d\n", e->eld_ver);
+		dev_info_ratelimited(dev, "HDMI: Unknown ELD version %d\n", e->eld_ver);
 		goto out_fail;
 	}
 
@@ -357,7 +357,7 @@ int snd_parse_eld(struct device *dev, struct snd_parsed_hdmi_eld *e,
 	e->product_id	  = get_unaligned_le16(buf + 18);
 
 	if (mnl > ELD_MAX_MNL) {
-		dev_info(dev, "HDMI: MNL is reserved value %d\n", mnl);
+		dev_info_ratelimited(dev, "HDMI: MNL is reserved value %d\n", mnl);
 		goto out_fail;
 	} else if (ELD_FIXED_BYTES + mnl > size) {
 		dev_info(dev, "HDMI: out of range MNL %d\n", mnl);
-- 
2.54.0

Re: [PATCH RESEND] ALSA: pcm_drm_eld: rate-limit ELD parsing errors
Posted by Takashi Iwai 1 week, 1 day ago
On Sat, 16 May 2026 16:12:44 +0200,
Francesco Saverio Pavone wrote:
> 
> 
> Mirror of Mark Brown's ASoC: hdac_hdmi rate-limit patch (commit
> [lkml.kernel.org/lkml/2025/6/13/1380]) for the generic snd_parse_eld()
> helper used by ASoC hdmi-codec.
> 
> When a HDMI sink is disconnected (e.g. a board with two HDMI outputs and
> only one cable), userspace audio servers like PipeWire keep probing the
> disconnected card and trigger:
> 
>     HDMI: Unknown ELD version 0
> 
> at every probe ― easily 30+ messages per burst on rk3588. The same
> applies to malformed ELD (MNL out of range). Both conditions are
> expected when no sink is attached; rate-limit the dev_info() so the
> kernel ring buffer does not fill up.
> 
> Signed-off-by: Francesco Saverio Pavone <pavone.lawyer@gmail.com>

Applied now.  Thanks.


Takashi