Message ID | 20220301064920.37788-1-yang.lee@linux.alibaba.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [-next] ASoC: amd: Fix an ignored error return from platform_get_irq_byname() | expand |
On Tue, Mar 01, 2022 at 02:49:20PM +0800, Yang Li wrote: > - adata->i2s_irq = platform_get_irq_byname(pdev, "acp_dai_irq"); > - if (adata->i2s_irq < 0) > + adata->i2s_irq = ret = platform_get_irq_byname(pdev, "acp_dai_irq"); > + if (ret < 0) > return -ENODEV; If an error code is being returned we should report that error code rather than squashing it down to -ENODEV.
The function dev_err_probe() is called in function platform_get_irq_byname() to print the error code. ------------------------------------------------------------------ 发件人:Mark Brown <broonie@kernel.org> 发送时间:2022年3月1日(星期二) 20:40 收件人:Yang Li <yang.lee@linux.alibaba.com> 抄 送:lgirdwood <lgirdwood@gmail.com>; perex <perex@perex.cz>; tiwai <tiwai@suse.com>; tangmeng <tangmeng@uniontech.com>; alsa-devel <alsa-devel@alsa-project.org>; linux-kernel <linux-kernel@vger.kernel.org>; Abaci Robot <abaci@linux.alibaba.com> 主 题:Re: [PATCH -next] ASoC: amd: Fix an ignored error return from platform_get_irq_byname() On Tue, Mar 01, 2022 at 02:49:20PM +0800, Yang Li wrote: > - adata->i2s_irq = platform_get_irq_byname(pdev, "acp_dai_irq"); > - if (adata->i2s_irq < 0) > + adata->i2s_irq = ret = platform_get_irq_byname(pdev, "acp_dai_irq"); > + if (ret < 0) > return -ENODEV; If an error code is being returned we should report that error code rather than squashing it down to -ENODEV.
On Wed, Mar 02, 2022 at 09:17:21AM +0800, Yang.Lee wrote: Please don't top post, reply in line with needed context. This allows readers to readily follow the flow of conversation and understand what you are talking about and also helps ensure that everything in the discussion is being addressed. > The function dev_err_probe() is called in function platform_get_irq_byname() to print the error code. That doesn't seem at all relevant to the error code being returned which is what the review feedback was about: > > If an error code is being returned we should report that error code > > rather than squashing it down to -ENODEV. Please fix your mail client to word wrap within paragraphs at something substantially less than 80 columns. Doing this makes your messages much easier to read and reply to.
diff --git a/sound/soc/amd/acp/acp-renoir.c b/sound/soc/amd/acp/acp-renoir.c index 738cf2e2b973..64e824161091 100644 --- a/sound/soc/amd/acp/acp-renoir.c +++ b/sound/soc/amd/acp/acp-renoir.c @@ -282,8 +282,8 @@ static int renoir_audio_probe(struct platform_device *pdev) if (!adata->acp_base) return -ENOMEM; - adata->i2s_irq = platform_get_irq_byname(pdev, "acp_dai_irq"); - if (adata->i2s_irq < 0) + adata->i2s_irq = ret = platform_get_irq_byname(pdev, "acp_dai_irq"); + if (ret < 0) return -ENODEV; adata->dev = dev;
The return from the call to platform_get_irq_byname() is int, it can be a negative error code, however this is being assigned to an unsigned int variable 'adata->i2s_irq', so assign the value to 'ret' concurrently to solve this problem without affecting other functions. Eliminate the following coccicheck warning: ./sound/soc/amd/acp/acp-renoir.c:286:5-19: WARNING: Unsigned expression compared with zero: adata -> i2s_irq < 0 Reported-by: Abaci Robot <abaci@linux.alibaba.com> Fixes: 3304a242f45a ("ASoC: amd: Use platform_get_irq_byname() to get the interrupt") Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> --- sound/soc/amd/acp/acp-renoir.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)