]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - sitara-epos/sitara-epos-kernel.git/blobdiff - arch/arm/common/edma.c
ARM: edma: use kzalloc()
[sitara-epos/sitara-epos-kernel.git] / arch / arm / common / edma.c
index 1c352c89f66138e6d0fa537329690dc35a8ac1dd..4d6dd7ddab472d186c5ea481ee7c0d0d83f86e4f 100644 (file)
@@ -317,10 +317,12 @@ static int irq2ctlr(int irq)
 static irqreturn_t dma_irq_handler(int irq, void *data)
 {
        int i;
-       unsigned ctlr;
+       int ctlr;
        unsigned int cnt = 0;
 
        ctlr = irq2ctlr(irq);
+       if (ctlr < 0)
+               return IRQ_NONE;
 
        dev_dbg(data, "dma_irq_handler\n");
 
@@ -368,10 +370,12 @@ static irqreturn_t dma_irq_handler(int irq, void *data)
 static irqreturn_t dma_ccerr_handler(int irq, void *data)
 {
        int i;
-       unsigned ctlr;
+       int ctlr;
        unsigned int cnt = 0;
 
        ctlr = irq2ctlr(irq);
+       if (ctlr < 0)
+               return IRQ_NONE;
 
        dev_dbg(data, "dma_ccerr_handler\n");
 
@@ -1383,12 +1387,11 @@ static int __init edma_probe(struct platform_device *pdev)
                        goto fail1;
                }
 
-               edma_cc[j] = kmalloc(sizeof(struct edma), GFP_KERNEL);
+               edma_cc[j] = kzalloc(sizeof(struct edma), GFP_KERNEL);
                if (!edma_cc[j]) {
                        status = -ENOMEM;
                        goto fail1;
                }
-               memset(edma_cc[j], 0, sizeof(struct edma));
 
                edma_cc[j]->num_channels = min_t(unsigned, info[j].n_channel,
                                                        EDMA_MAX_DMACH);