2017-06-30 19:59:07

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] ALSA: x86: fix error return code in hdmi_lpe_audio_probe()

platform_get_irq() returns an error code, but the sata_rcar driver
ignores it and always returns -ENODEV. This is not correct, and
prevents -EPROBE_DEFER from being propagated properly. Also,
notice that platform_get_irq() no longer returns 0 on error.

Print and propagate the return value of platform_get_irq on failure.

Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
sound/x86/intel_hdmi_audio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c
index c19efc9..a095150 100644
--- a/sound/x86/intel_hdmi_audio.c
+++ b/sound/x86/intel_hdmi_audio.c
@@ -1758,8 +1758,8 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev)
/* get resources */
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
- dev_err(&pdev->dev, "Could not get irq resource\n");
- return -ENODEV;
+ dev_err(&pdev->dev, "Could not get irq resource: %d\n", irq);
+ return irq;
}

res_mmio = platform_get_resource(pdev, IORESOURCE_MEM, 0);
--
2.5.0


2017-06-30 20:07:03

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: x86: fix error return code in hdmi_lpe_audio_probe()

On Fri, 30 Jun 2017 21:59:01 +0200,
Gustavo A. R. Silva wrote:
>
> platform_get_irq() returns an error code, but the sata_rcar driver
> ignores it and always returns -ENODEV.

Which driver? A copy&paste error?


Takashi

> This is not correct, and
> prevents -EPROBE_DEFER from being propagated properly. Also,
> notice that platform_get_irq() no longer returns 0 on error.
>
> Print and propagate the return value of platform_get_irq on failure.
>
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> sound/x86/intel_hdmi_audio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c
> index c19efc9..a095150 100644
> --- a/sound/x86/intel_hdmi_audio.c
> +++ b/sound/x86/intel_hdmi_audio.c
> @@ -1758,8 +1758,8 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev)
> /* get resources */
> irq = platform_get_irq(pdev, 0);
> if (irq < 0) {
> - dev_err(&pdev->dev, "Could not get irq resource\n");
> - return -ENODEV;
> + dev_err(&pdev->dev, "Could not get irq resource: %d\n", irq);
> + return irq;
> }
>
> res_mmio = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> --
> 2.5.0
>
>

2017-06-30 20:13:03

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] ALSA: x86: fix error return code in hdmi_lpe_audio_probe()

Hi Takashi,

Quoting Takashi Iwai <[email protected]>:

> On Fri, 30 Jun 2017 21:59:01 +0200,
> Gustavo A. R. Silva wrote:
>>
>> platform_get_irq() returns an error code, but the sata_rcar driver
>> ignores it and always returns -ENODEV.
>
> Which driver? A copy&paste error?
>

Yep, I'm already working on v2 of this patch, which fix this error.
I'll send it shortly.

Thanks
--
Gustavo A. R. Silva







2017-06-30 20:18:46

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH v2] ALSA: x86: fix error return code in hdmi_lpe_audio_probe()

platform_get_irq() returns an error code, but the intel_hdmi_audio
driver ignores it and always returns -ENODEV. This is not correct,
and prevents -EPROBE_DEFER from being propagated properly. Also,
notice that platform_get_irq() no longer returns 0 on error.

Print error message and propagate the return value of platform_get_irq
on failure.

Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
Changes in v2:
Fix error in commit message.

sound/x86/intel_hdmi_audio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c
index c19efc9..a095150 100644
--- a/sound/x86/intel_hdmi_audio.c
+++ b/sound/x86/intel_hdmi_audio.c
@@ -1758,8 +1758,8 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev)
/* get resources */
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
- dev_err(&pdev->dev, "Could not get irq resource\n");
- return -ENODEV;
+ dev_err(&pdev->dev, "Could not get irq resource: %d\n", irq);
+ return irq;
}

res_mmio = platform_get_resource(pdev, IORESOURCE_MEM, 0);
--
2.5.0

2017-06-30 20:27:07

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH v2] ALSA: x86: fix error return code in hdmi_lpe_audio_probe()

On Fri, 30 Jun 2017 22:18:41 +0200,
Gustavo A. R. Silva wrote:
>
> Also,
> notice that platform_get_irq() no longer returns 0 on error.

There is no change by your patch in this regard, right?


Takashi

> Print error message and propagate the return value of platform_get_irq
> on failure.
>
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> Changes in v2:
> Fix error in commit message.
>
> sound/x86/intel_hdmi_audio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c
> index c19efc9..a095150 100644
> --- a/sound/x86/intel_hdmi_audio.c
> +++ b/sound/x86/intel_hdmi_audio.c
> @@ -1758,8 +1758,8 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev)
> /* get resources */
> irq = platform_get_irq(pdev, 0);
> if (irq < 0) {
> - dev_err(&pdev->dev, "Could not get irq resource\n");
> - return -ENODEV;
> + dev_err(&pdev->dev, "Could not get irq resource: %d\n", irq);
> + return irq;
> }
>
> res_mmio = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> --
> 2.5.0
>
>

2017-06-30 20:31:36

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH v2] ALSA: x86: fix error return code in hdmi_lpe_audio_probe()

Hi Takashi,

Quoting Takashi Iwai <[email protected]>:

> On Fri, 30 Jun 2017 22:18:41 +0200,
> Gustavo A. R. Silva wrote:
>>
>> Also,
>> notice that platform_get_irq() no longer returns 0 on error.
>
> There is no change by your patch in this regard, right?
>

You are correct. I just pointing it out. This is the commit that
changed the platform_get_irq code:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e330b9a6bb35dc7097a4f02cb1ae7b6f96df92af

>
> Takashi
>
>> Print error message and propagate the return value of platform_get_irq
>> on failure.
>>
>> Signed-off-by: Gustavo A. R. Silva <[email protected]>
>> ---
>> Changes in v2:
>> Fix error in commit message.
>>
>> sound/x86/intel_hdmi_audio.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c
>> index c19efc9..a095150 100644
>> --- a/sound/x86/intel_hdmi_audio.c
>> +++ b/sound/x86/intel_hdmi_audio.c
>> @@ -1758,8 +1758,8 @@ static int hdmi_lpe_audio_probe(struct
>> platform_device *pdev)
>> /* get resources */
>> irq = platform_get_irq(pdev, 0);
>> if (irq < 0) {
>> - dev_err(&pdev->dev, "Could not get irq resource\n");
>> - return -ENODEV;
>> + dev_err(&pdev->dev, "Could not get irq resource: %d\n", irq);
>> + return irq;
>> }
>>
>> res_mmio = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> --
>> 2.5.0
>>
>>

Thanks
--
Gustavo A. R. Silva





2017-06-30 20:39:13

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH v2] ALSA: x86: fix error return code in hdmi_lpe_audio_probe()

On Fri, 30 Jun 2017 22:31:32 +0200,
Gustavo A. R. Silva wrote:
>
> Hi Takashi,
>
> Quoting Takashi Iwai <[email protected]>:
>
> > On Fri, 30 Jun 2017 22:18:41 +0200,
> > Gustavo A. R. Silva wrote:
> >>
> >> Also,
> >> notice that platform_get_irq() no longer returns 0 on error.
> >
> > There is no change by your patch in this regard, right?
> >
>
> You are correct. I just pointing it out. This is the commit that
> changed the platform_get_irq code:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e330b9a6bb35dc7097a4f02cb1ae7b6f96df92af

OK, applied now to for-next branch.
Thanks.


Takashi

2017-06-30 20:41:36

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH v2] ALSA: x86: fix error return code in hdmi_lpe_audio_probe()


Quoting Takashi Iwai <[email protected]>:

> On Fri, 30 Jun 2017 22:31:32 +0200,
> Gustavo A. R. Silva wrote:
>>
>> Hi Takashi,
>>
>> Quoting Takashi Iwai <[email protected]>:
>>
>> > On Fri, 30 Jun 2017 22:18:41 +0200,
>> > Gustavo A. R. Silva wrote:
>> >>
>> >> Also,
>> >> notice that platform_get_irq() no longer returns 0 on error.
>> >
>> > There is no change by your patch in this regard, right?
>> >
>>
>> You are correct. I just pointing it out. This is the commit that
>> changed the platform_get_irq code:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e330b9a6bb35dc7097a4f02cb1ae7b6f96df92af
>
> OK, applied now to for-next branch.
> Thanks.
>

Great :)

Thank you
--
Gustavo A. R. Silva