* Re: [PATCH] ALSA: hda - bug fix on return value when getting HDMI ELD info
2013-03-27 13:37 [PATCH] ALSA: hda - bug fix on return value when getting HDMI ELD info mengdong.lin
@ 2013-03-27 10:16 ` David Henningsson
2013-03-28 1:08 ` Lin, Mengdong
2013-03-28 2:19 ` Lin, Mengdong
0 siblings, 2 replies; 4+ messages in thread
From: David Henningsson @ 2013-03-27 10:16 UTC (permalink / raw)
To: mengdong.lin; +Cc: tiwai, alsa-devel
On 03/27/2013 02:37 PM, mengdong.lin@intel.com wrote:
> From: Mengdong Lin <mengdong.lin@intel.com>
>
> In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0.
> Otherwise it will be returned uninitialized as non-zero after ELD info is got
> successfully. Thus hdmi_present_sense() will always assume ELD info is invalid
> by mistake, and /proc file system cannot show the proper ELD info.
>
> This patch also let debug message show 'pin_eld->monitor_present' which is the
> real pin response to verb GET_PIN_SENSE.
>
> Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Reviewed-by: David Henningsson <david.henningsson@canonical.com>
Good findings.
The first one is at least in 3.8 and so this should be sent to stable too.
The second one (pin_eld) is new for 3.9, and probably caused by me, so,
sorry for that :-/
>
> diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c
> index 7dd8463..d0d7ac1 100644
> --- a/sound/pci/hda/hda_eld.c
> +++ b/sound/pci/hda/hda_eld.c
> @@ -320,7 +320,7 @@ int snd_hdmi_get_eld(struct hda_codec *codec, hda_nid_t nid,
> unsigned char *buf, int *eld_size)
> {
> int i;
> - int ret;
> + int ret = 0;
> int size;
>
> /*
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index 78e1827..de8ac5c 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -1196,7 +1196,7 @@ static void hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
>
> _snd_printd(SND_PR_VERBOSE,
> "HDMI status: Codec=%d Pin=%d Presence_Detect=%d ELD_Valid=%d\n",
> - codec->addr, pin_nid, eld->monitor_present, eld->eld_valid);
> + codec->addr, pin_nid, pin_eld->monitor_present, eld->eld_valid);
>
> if (eld->eld_valid) {
> if (snd_hdmi_get_eld(codec, pin_nid, eld->eld_buffer,
>
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] ALSA: hda - bug fix on return value when getting HDMI ELD info
@ 2013-03-27 13:37 mengdong.lin
2013-03-27 10:16 ` David Henningsson
0 siblings, 1 reply; 4+ messages in thread
From: mengdong.lin @ 2013-03-27 13:37 UTC (permalink / raw)
To: alsa-devel, tiwai; +Cc: Mengdong Lin
From: Mengdong Lin <mengdong.lin@intel.com>
In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0.
Otherwise it will be returned uninitialized as non-zero after ELD info is got
successfully. Thus hdmi_present_sense() will always assume ELD info is invalid
by mistake, and /proc file system cannot show the proper ELD info.
This patch also let debug message show 'pin_eld->monitor_present' which is the
real pin response to verb GET_PIN_SENSE.
Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c
index 7dd8463..d0d7ac1 100644
--- a/sound/pci/hda/hda_eld.c
+++ b/sound/pci/hda/hda_eld.c
@@ -320,7 +320,7 @@ int snd_hdmi_get_eld(struct hda_codec *codec, hda_nid_t nid,
unsigned char *buf, int *eld_size)
{
int i;
- int ret;
+ int ret = 0;
int size;
/*
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 78e1827..de8ac5c 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1196,7 +1196,7 @@ static void hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
_snd_printd(SND_PR_VERBOSE,
"HDMI status: Codec=%d Pin=%d Presence_Detect=%d ELD_Valid=%d\n",
- codec->addr, pin_nid, eld->monitor_present, eld->eld_valid);
+ codec->addr, pin_nid, pin_eld->monitor_present, eld->eld_valid);
if (eld->eld_valid) {
if (snd_hdmi_get_eld(codec, pin_nid, eld->eld_buffer,
--
1.7.10.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ALSA: hda - bug fix on return value when getting HDMI ELD info
2013-03-27 10:16 ` David Henningsson
@ 2013-03-28 1:08 ` Lin, Mengdong
2013-03-28 2:19 ` Lin, Mengdong
1 sibling, 0 replies; 4+ messages in thread
From: Lin, Mengdong @ 2013-03-28 1:08 UTC (permalink / raw)
To: David Henningsson; +Cc: tiwai, alsa-devel
> -----Original Message-----
> From: David Henningsson [mailto:david.henningsson@canonical.com]
> Sent: Wednesday, March 27, 2013 6:16 PM
> To: Lin, Mengdong
> Cc: alsa-devel@alsa-project.org; tiwai@suse.de
> Subject: Re: [alsa-devel] [PATCH] ALSA: hda - bug fix on return value when
> getting HDMI ELD info
>
> On 03/27/2013 02:37 PM, mengdong.lin@intel.com wrote:
> > From: Mengdong Lin <mengdong.lin@intel.com>
> >
> > In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0.
> > Otherwise it will be returned uninitialized as non-zero after ELD info
> > is got successfully. Thus hdmi_present_sense() will always assume ELD
> > info is invalid by mistake, and /proc file system cannot show the proper ELD
> info.
> >
> > This patch also let debug message show 'pin_eld->monitor_present'
> > which is the real pin response to verb GET_PIN_SENSE.
> >
> > Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
>
> Reviewed-by: David Henningsson <david.henningsson@canonical.com>
>
> Good findings.
> The first one is at least in 3.8 and so this should be sent to stable too.
>
> The second one (pin_eld) is new for 3.9, and probably caused by me, so, sorry
> for that :-/
Hi David,
I'll divide this into 2 patches, as the 2nd one is not needed for 3.8.
Thanks
Mengdong
>
>
> >
> > diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c
> > index 7dd8463..d0d7ac1 100644
> > --- a/sound/pci/hda/hda_eld.c
> > +++ b/sound/pci/hda/hda_eld.c
> > @@ -320,7 +320,7 @@ int snd_hdmi_get_eld(struct hda_codec *codec,
> hda_nid_t nid,
> > unsigned char *buf, int *eld_size)
> > {
> > int i;
> > - int ret;
> > + int ret = 0;
> > int size;
> >
> > /*
> > diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> > index 78e1827..de8ac5c 100644
> > --- a/sound/pci/hda/patch_hdmi.c
> > +++ b/sound/pci/hda/patch_hdmi.c
> > @@ -1196,7 +1196,7 @@ static void hdmi_present_sense(struct
> hdmi_spec_per_pin *per_pin, int repoll)
> >
> > _snd_printd(SND_PR_VERBOSE,
> > "HDMI status: Codec=%d Pin=%d Presence_Detect=%d
> ELD_Valid=%d\n",
> > - codec->addr, pin_nid, eld->monitor_present, eld->eld_valid);
> > + codec->addr, pin_nid, pin_eld->monitor_present, eld->eld_valid);
> >
> > if (eld->eld_valid) {
> > if (snd_hdmi_get_eld(codec, pin_nid, eld->eld_buffer,
> >
>
>
>
> --
> David Henningsson, Canonical Ltd.
> https://launchpad.net/~diwic
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ALSA: hda - bug fix on return value when getting HDMI ELD info
2013-03-27 10:16 ` David Henningsson
2013-03-28 1:08 ` Lin, Mengdong
@ 2013-03-28 2:19 ` Lin, Mengdong
1 sibling, 0 replies; 4+ messages in thread
From: Lin, Mengdong @ 2013-03-28 2:19 UTC (permalink / raw)
To: David Henningsson; +Cc: tiwai, alsa-devel
> -----Original Message-----
> From: David Henningsson [mailto:david.henningsson@canonical.com]
> Sent: Wednesday, March 27, 2013 6:16 PM
> To: Lin, Mengdong
> Cc: alsa-devel@alsa-project.org; tiwai@suse.de
> Subject: Re: [alsa-devel] [PATCH] ALSA: hda - bug fix on return value when
> getting HDMI ELD info
>
> On 03/27/2013 02:37 PM, mengdong.lin@intel.com wrote:
> > From: Mengdong Lin <mengdong.lin@intel.com>
> >
> > In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0.
> > Otherwise it will be returned uninitialized as non-zero after ELD info
> > is got successfully. Thus hdmi_present_sense() will always assume ELD
> > info is invalid by mistake, and /proc file system cannot show the proper ELD
> info.
> >
> > This patch also let debug message show 'pin_eld->monitor_present'
> > which is the real pin response to verb GET_PIN_SENSE.
> >
> > Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
>
> Reviewed-by: David Henningsson <david.henningsson@canonical.com>
>
> Good findings.
> The first one is at least in 3.8 and so this should be sent to stable too.
>
> The second one (pin_eld) is new for 3.9, and probably caused by me, so, sorry
> for that :-/
Hi David,
I've divided them into two patches. Please review.
[PATCH v2 1/2] ALSA: hda - bug fix on return value when getting HDMI ELD info
[PATCH v2 2/2] ALSA: hda - bug fix on HDMI ELD debug message
Thanks again!
Mengdong
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-03-28 2:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-27 13:37 [PATCH] ALSA: hda - bug fix on return value when getting HDMI ELD info mengdong.lin
2013-03-27 10:16 ` David Henningsson
2013-03-28 1:08 ` Lin, Mengdong
2013-03-28 2:19 ` Lin, Mengdong
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.