]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
USB: EHCI: ehci-mv: fix less than zero comparison of an unsigned int
authorColin Ian King <colin.king@canonical.com>
Fri, 15 May 2020 16:54:53 +0000 (17:54 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 9 Nov 2020 13:47:50 +0000 (14:47 +0100)
BugLink: https://bugs.launchpad.net/bugs/1900624
[ Upstream commit a7f40c233a6b0540d28743267560df9cfb571ca9 ]

The comparison of hcd->irq to less than zero for an error check will
never be true because hcd->irq is an unsigned int.  Fix this by
assigning the int retval to the return of platform_get_irq and checking
this for the -ve error condition and assigning hcd->irq to retval.

Addresses-Coverity: ("Unsigned compared against 0")
Fixes: c856b4b0fdb5 ("USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe()")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20200515165453.104028-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Ian May <ian.may@canonical.com>
drivers/usb/host/ehci-mv.c

index 15b2e8910e9b7afd3d2646f9a0b8827bd03a1870..b6f196f5e252ec11c633a534289aa037fca7e535 100644 (file)
@@ -156,11 +156,10 @@ static int mv_ehci_probe(struct platform_device *pdev)
        hcd->rsrc_len = resource_size(r);
        hcd->regs = ehci_mv->op_regs;
 
-       hcd->irq = platform_get_irq(pdev, 0);
-       if (hcd->irq < 0) {
-               retval = hcd->irq;
+       retval = platform_get_irq(pdev, 0);
+       if (retval < 0)
                goto err_disable_clk;
-       }
+       hcd->irq = retval;
 
        ehci = hcd_to_ehci(hcd);
        ehci->caps = (struct ehci_caps *) ehci_mv->cap_regs;