diff options
author | Arvind Yadav <arvind.yadav.cs@gmail.com> | 2017-02-02 18:52:34 +0530 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2017-02-25 22:27:30 +0100 |
commit | e28f701b21ee4b4eb716e4717fa2aa78c28a8523 (patch) | |
tree | e4ad1fe08defaf2214da3a4f716f9e9d4121096d /drivers/parisc | |
parent | 09b871ffd4d8ddc005a9480fb69ff1897caaeb1f (diff) | |
download | linux-e28f701b21ee4b4eb716e4717fa2aa78c28a8523.tar.bz2 |
parisc: ccio-dma: Handle return NULL error from ioremap_nocache
Fix error paths and return -ENOMEM instead of '1'.
Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/parisc')
-rw-r--r-- | drivers/parisc/ccio-dma.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/parisc/ccio-dma.c b/drivers/parisc/ccio-dma.c index 553ef8a5d588..b0558e2451b5 100644 --- a/drivers/parisc/ccio-dma.c +++ b/drivers/parisc/ccio-dma.c @@ -1539,7 +1539,7 @@ static int __init ccio_probe(struct parisc_device *dev) ioc = kzalloc(sizeof(struct ioc), GFP_KERNEL); if (ioc == NULL) { printk(KERN_ERR MODULE_NAME ": memory allocation failure\n"); - return 1; + return -ENOMEM; } ioc->name = dev->id.hversion == U2_IOA_RUNWAY ? "U2" : "UTurn"; @@ -1554,6 +1554,10 @@ static int __init ccio_probe(struct parisc_device *dev) ioc->hw_path = dev->hw_path; ioc->ioc_regs = ioremap_nocache(dev->hpa.start, 4096); + if (!ioc->ioc_regs) { + kfree(ioc); + return -ENOMEM; + } ccio_ioc_init(ioc); ccio_init_resources(ioc); hppa_dma_ops = &ccio_ops; |