diff options
-rw-r--r-- | drivers/dma/mv_xor.c | 5 | ||||
-rw-r--r-- | drivers/dma/mv_xor.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c index ec741b4607e2..d48245c0b0b0 100644 --- a/drivers/dma/mv_xor.c +++ b/drivers/dma/mv_xor.c | |||
@@ -1082,6 +1082,8 @@ static int mv_xor_channel_remove(struct mv_xor_chan *mv_chan) | |||
1082 | list_del(&chan->device_node); | 1082 | list_del(&chan->device_node); |
1083 | } | 1083 | } |
1084 | 1084 | ||
1085 | free_irq(mv_chan->irq, mv_chan); | ||
1086 | |||
1085 | return 0; | 1087 | return 0; |
1086 | } | 1088 | } |
1087 | 1089 | ||
@@ -1101,6 +1103,7 @@ mv_xor_channel_add(struct mv_xor_device *xordev, | |||
1101 | } | 1103 | } |
1102 | 1104 | ||
1103 | mv_chan->idx = idx; | 1105 | mv_chan->idx = idx; |
1106 | mv_chan->irq = irq; | ||
1104 | 1107 | ||
1105 | dma_dev = &mv_chan->dmadev; | 1108 | dma_dev = &mv_chan->dmadev; |
1106 | 1109 | ||
@@ -1147,7 +1150,7 @@ mv_xor_channel_add(struct mv_xor_device *xordev, | |||
1147 | /* clear errors before enabling interrupts */ | 1150 | /* clear errors before enabling interrupts */ |
1148 | mv_xor_device_clear_err_status(mv_chan); | 1151 | mv_xor_device_clear_err_status(mv_chan); |
1149 | 1152 | ||
1150 | ret = devm_request_irq(&pdev->dev, irq, | 1153 | ret = devm_request_irq(&pdev->dev, mv_chan->irq, |
1151 | mv_xor_interrupt_handler, | 1154 | mv_xor_interrupt_handler, |
1152 | 0, dev_name(&pdev->dev), mv_chan); | 1155 | 0, dev_name(&pdev->dev), mv_chan); |
1153 | if (ret) | 1156 | if (ret) |
diff --git a/drivers/dma/mv_xor.h b/drivers/dma/mv_xor.h index 698b4487b348..17043287b71a 100644 --- a/drivers/dma/mv_xor.h +++ b/drivers/dma/mv_xor.h | |||
@@ -81,6 +81,7 @@ struct mv_xor_chan { | |||
81 | spinlock_t lock; /* protects the descriptor slot pool */ | 81 | spinlock_t lock; /* protects the descriptor slot pool */ |
82 | void __iomem *mmr_base; | 82 | void __iomem *mmr_base; |
83 | unsigned int idx; | 83 | unsigned int idx; |
84 | int irq; | ||
84 | enum dma_transaction_type current_type; | 85 | enum dma_transaction_type current_type; |
85 | struct list_head chain; | 86 | struct list_head chain; |
86 | struct list_head completed_slots; | 87 | struct list_head completed_slots; |