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/net/altera_tse.c | |
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/net/altera_tse.c')
-rw-r--r-- | drivers/net/altera_tse.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c index 4bbf59558c..ecbb9f8974 100644 --- a/drivers/net/altera_tse.c +++ b/drivers/net/altera_tse.c @@ -26,6 +26,7 @@ #include <clock.h> #include <linux/mii.h> #include <linux/phy.h> +#include <linux/err.h> #include <io.h> #include <asm/dma-mapping.h> @@ -515,6 +516,8 @@ static int tse_probe(struct device_d *dev) #ifdef CONFIG_TSE_USE_DEDICATED_DESC_MEM tx_desc = dev_request_mem_region(dev, 3); + if (IS_ERR(tx_desc)) + return PTR_ERR(tx_desc); rx_desc = tx_desc + 2; #else tx_desc = dma_alloc_coherent(sizeof(*tx_desc) * (3 + PKTBUFSRX), (unsigned long *)&dma_handle); @@ -531,8 +534,14 @@ static int tse_probe(struct device_d *dev) memset(tx_desc, 0, (sizeof *tx_desc) * 2); priv->tse_regs = dev_request_mem_region(dev, 0); + if (IS_ERR(priv->tse_regs)) + return PTR_ERR(priv->tse_regs); priv->sgdma_rx_regs = dev_request_mem_region(dev, 1); + if (IS_ERR(priv->sgdma_rx_regs)) + return PTR_ERR(priv->sgdma_rx_regs); priv->sgdma_tx_regs = dev_request_mem_region(dev, 2); + if (IS_ERR(priv->sgdma_tx_regs)) + return PTR_ERR(priv->sgdma_tx_regs); priv->rx_desc = rx_desc; priv->tx_desc = tx_desc; |