diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-07-31 10:38:08 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-09-16 08:32:10 +0200 |
commit | ed6e965824303255cacc1c1a195d3684caa26bce (patch) | |
tree | 26e2b1b78498675ceae4dd2e990836c26ec1d5ec /drivers/usb | |
parent | 5bdc82c54a3306f2ae151a00f2df54f9240395b8 (diff) | |
download | barebox-ed6e965824303255cacc1c1a195d3684caa26bce.tar.gz barebox-ed6e965824303255cacc1c1a195d3684caa26bce.tar.xz |
resource: Let dev_request_mem_region return an error pointer
For all users fix or add the error check.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/gadget/at91_udc.c | 4 | ||||
-rw-r--r-- | drivers/usb/gadget/fsl_udc.c | 4 | ||||
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 4 | ||||
-rw-r--r-- | drivers/usb/host/ohci-hcd.c | 3 | ||||
-rw-r--r-- | drivers/usb/imx/chipidea-imx.c | 5 |
5 files changed, 16 insertions, 4 deletions
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c index 2b19be94f0..2f0d5ed6fa 100644 --- a/drivers/usb/gadget/at91_udc.c +++ b/drivers/usb/gadget/at91_udc.c @@ -1432,8 +1432,8 @@ static int __init at91udc_probe(struct device_d *dev) } udc->udp_baseaddr = dev_request_mem_region(dev, 0); - if (!udc->udp_baseaddr) { - retval = -ENOMEM; + if (IS_ERR(udc->udp_baseaddr)) { + retval = PTR_ERR(udc->udp_baseaddr); goto fail0a; } diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c index 5a625d19ca..877d2dfec4 100644 --- a/drivers/usb/gadget/fsl_udc.c +++ b/drivers/usb/gadget/fsl_udc.c @@ -9,6 +9,7 @@ #include <io.h> #include <poller.h> #include <asm/byteorder.h> +#include <linux/err.h> /* ### define USB registers here */ @@ -2320,6 +2321,9 @@ static int fsl_udc_probe(struct device_d *dev) { void __iomem *regs = dev_request_mem_region(dev, 0); + if (IS_ERR(regs)) + return PTR_ERR(regs); + return ci_udc_register(dev, regs); } diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index c0ea8d013a..5624552c00 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -30,6 +30,7 @@ #include <of.h> #include <usb/ehci.h> #include <asm/mmu.h> +#include <linux/err.h> #include "ehci.h" @@ -924,6 +925,9 @@ static int ehci_probe(struct device_d *dev) data.flags = EHCI_HAS_TT; data.hccr = dev_request_mem_region(dev, 0); + if (IS_ERR(data.hccr)) + return PTR_ERR(data.hccr); + if (dev->num_resources > 1) data.hcor = dev_request_mem_region(dev, 1); else diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 3d18a73325..622f5c3a5b 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -47,6 +47,7 @@ #include <usb/usb_defs.h> #include <init.h> #include <errno.h> +#include <linux/err.h> #include <asm/byteorder.h> #include <io.h> @@ -1812,6 +1813,8 @@ static int ohci_probe(struct device_d *dev) usb_register_host(host); ohci->regs = dev_request_mem_region(dev, 0); + if (IS_ERR(ohci->regs)) + return PTR_ERR(ohci->regs); return 0; } diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c index 62feae8eac..ffa46dac6e 100644 --- a/drivers/usb/imx/chipidea-imx.c +++ b/drivers/usb/imx/chipidea-imx.c @@ -24,6 +24,7 @@ #include <usb/chipidea-imx.h> #include <usb/ulpi.h> #include <usb/fsl_usb2.h> +#include <linux/err.h> #define MXC_EHCI_PORTSC_MASK ((0xf << 28) | (1 << 25)) @@ -242,8 +243,8 @@ static int imx_chipidea_probe(struct device_d *dev) regulator_enable(ci->vbus); base = dev_request_mem_region(dev, 0); - if (!base) - return -ENODEV; + if (IS_ERR(base)) + return PTR_ERR(base); ci->base = base; |