USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe()
authorTang Bin <tangbin@cmss.chinamobile.com>
Fri, 8 May 2020 11:43:05 +0000 (19:43 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Oct 2020 11:12:43 +0000 (13:12 +0200)
[ Upstream commit c856b4b0fdb5044bca4c0acf9a66f3b5cc01a37a ]

If the function platform_get_irq() failed, the negative value
returned will not be detected here. So fix error handling in
mv_ehci_probe(). And when get irq failed, the function
platform_get_irq() logs an error message, so remove redundant
message here.

Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
Link: https://lore.kernel.org/r/20200508114305.15740-1-tangbin@cmss.chinamobile.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/host/ehci-mv.c

index 849806a75f1ce9223dc716fe8d626ba1b4a7cee5..273736e1d33fa0415d1bee8680d9aba5eb8a0a44 100644 (file)
@@ -197,9 +197,8 @@ static int mv_ehci_probe(struct platform_device *pdev)
        hcd->regs = ehci_mv->op_regs;
 
        hcd->irq = platform_get_irq(pdev, 0);
-       if (!hcd->irq) {
-               dev_err(&pdev->dev, "Cannot get irq.");
-               retval = -ENODEV;
+       if (hcd->irq < 0) {
+               retval = hcd->irq;
                goto err_disable_clk;
        }