list_del(&chan->device_node);
}
+ free_irq(mv_chan->irq, mv_chan);
+
return 0;
}
}
mv_chan->idx = idx;
+ mv_chan->irq = irq;
dma_dev = &mv_chan->dmadev;
/* clear errors before enabling interrupts */
mv_xor_device_clear_err_status(mv_chan);
- ret = devm_request_irq(&pdev->dev, irq,
+ ret = devm_request_irq(&pdev->dev, mv_chan->irq,
mv_xor_interrupt_handler,
0, dev_name(&pdev->dev), mv_chan);
if (ret)
spinlock_t lock; /* protects the descriptor slot pool */
void __iomem *mmr_base;
unsigned int idx;
+ int irq;
enum dma_transaction_type current_type;
struct list_head chain;
struct list_head completed_slots;