ALSA: hda - Don't handle ELD notify from invalid port

The current Intel HDMI codec driver supports only three fixed ports
from port B to port D.  However, i915 driver may assign a DP on other
ports, e.g. port A, when no eDP is used.  This incompatibility is
caught later at pin_nid_to_pin_index() and results in a warning
message like "HDMI: pin nid 4 not registered" at each time.

This patch filters out such invalid events beforehand, so that the
kernel won't be too grumbling.

Reported-by: Stefan Assmann <sassmann@kpanic.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2016-03-10 12:02:49 +01:00
parent 56dc66ff1c
commit 4f8e4f3537

View File

@ -2432,6 +2432,10 @@ static void intel_pin_eld_notify(void *audio_ptr, int port)
struct hda_codec *codec = audio_ptr;
int pin_nid = port + 0x04;
/* we assume only from port-B to port-D */
if (port < 1 || port > 3)
return;
/* skip notification during system suspend (but not in runtime PM);
* the state will be updated at resume
*/