[alsa-devel] [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 garsilva@embeddedor.com --- 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);
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 garsilva@embeddedor.com
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
Hi Takashi,
Quoting Takashi Iwai tiwai@suse.de:
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
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 garsilva@embeddedor.com --- 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);
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 garsilva@embeddedor.com
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
Hi Takashi,
Quoting Takashi Iwai tiwai@suse.de:
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/?i...
Takashi
Print error message and propagate the return value of platform_get_irq on failure.
Signed-off-by: Gustavo A. R. Silva garsilva@embeddedor.com
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
On Fri, 30 Jun 2017 22:31:32 +0200, Gustavo A. R. Silva wrote:
Hi Takashi,
Quoting Takashi Iwai tiwai@suse.de:
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/?i...
OK, applied now to for-next branch. Thanks.
Takashi
Quoting Takashi Iwai tiwai@suse.de:
On Fri, 30 Jun 2017 22:31:32 +0200, Gustavo A. R. Silva wrote:
Hi Takashi,
Quoting Takashi Iwai tiwai@suse.de:
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/?i...
OK, applied now to for-next branch. Thanks.
Great :)
Thank you -- Gustavo A. R. Silva
participants (2)
-
Gustavo A. R. Silva
-
Takashi Iwai