Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dma: mv_xor: add missing free_irq() call

Even though the driver cannot be unloaded at the moment, it is still
good to properly free the IRQ handlers in the channel removal function.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

+5 -1
+4 -1
drivers/dma/mv_xor.c
··· 1082 1082 list_del(&chan->device_node); 1083 1083 } 1084 1084 1085 + free_irq(mv_chan->irq, mv_chan); 1086 + 1085 1087 return 0; 1086 1088 } 1087 1089 ··· 1103 1101 } 1104 1102 1105 1103 mv_chan->idx = idx; 1104 + mv_chan->irq = irq; 1106 1105 1107 1106 dma_dev = &mv_chan->dmadev; 1108 1107 ··· 1150 1147 /* clear errors before enabling interrupts */ 1151 1148 mv_xor_device_clear_err_status(mv_chan); 1152 1149 1153 - ret = devm_request_irq(&pdev->dev, irq, 1150 + ret = devm_request_irq(&pdev->dev, mv_chan->irq, 1154 1151 mv_xor_interrupt_handler, 1155 1152 0, dev_name(&pdev->dev), mv_chan); 1156 1153 if (ret)
+1
drivers/dma/mv_xor.h
··· 81 81 spinlock_t lock; /* protects the descriptor slot pool */ 82 82 void __iomem *mmr_base; 83 83 unsigned int idx; 84 + int irq; 84 85 enum dma_transaction_type current_type; 85 86 struct list_head chain; 86 87 struct list_head completed_slots;