diff options
author | Pan Bian <bianpan2016@163.com> | 2017-01-03 18:28:45 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-01-12 11:39:13 +0100 |
commit | 9acba5179d6c08f5499de52cb543d2b2fbb98cc2 (patch) | |
tree | 211e219f269df99a2935f01a7cb9f6feba22adf0 /drivers/usb | |
parent | cb02cce9a7f8eea6f6c8432f296074d20829ff0f (diff) | |
download | blackbird-op-linux-9acba5179d6c08f5499de52cb543d2b2fbb98cc2.tar.gz blackbird-op-linux-9acba5179d6c08f5499de52cb543d2b2fbb98cc2.zip |
usb: return error code when platform_get_irq fails
commit 28bedb5ae463b9f7e5195cbc93f1795e374bdef8 upstream.
In function xhci_mtk_probe(), variable ret takes the return value. Its
value should be negative on failures. However, when the call to function
platform_get_irq() fails, it does not set the error code, and 0 will be
returned. 0 indicates no error. As a result, the callers of function
xhci_mtk_probe() will not be able to detect the error. This patch fixes
the bug by assigning the return value of platform_get_irq() to variable
ret if it fails.
Signed-off-by: Pan Bian <bianpan2016@163.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/xhci-mtk.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c index 79959f17c38c..f2365a47fa4a 100644 --- a/drivers/usb/host/xhci-mtk.c +++ b/drivers/usb/host/xhci-mtk.c @@ -560,8 +560,10 @@ static int xhci_mtk_probe(struct platform_device *pdev) goto disable_ldos; irq = platform_get_irq(pdev, 0); - if (irq < 0) + if (irq < 0) { + ret = irq; goto disable_clk; + } /* Initialize dma_mask and coherent_dma_mask to 32-bits */ ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32)); |