diff options
Diffstat (limited to 'target/linux/mvebu/patches-3.8/002-dma_mv_xor_fix_error_handling.patch')
-rw-r--r-- | target/linux/mvebu/patches-3.8/002-dma_mv_xor_fix_error_handling.patch | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/target/linux/mvebu/patches-3.8/002-dma_mv_xor_fix_error_handling.patch b/target/linux/mvebu/patches-3.8/002-dma_mv_xor_fix_error_handling.patch deleted file mode 100644 index f5940fbb1d..0000000000 --- a/target/linux/mvebu/patches-3.8/002-dma_mv_xor_fix_error_handling.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - -When mv_xor_channel_add() fails for one XOR channel, we jump to the -err_channel_add label to clean up all previous channels that had been -initialized correctly. Unfortunately, while handling this error -condition, we were disposing the IRQ mapping before calling -mv_xor_channel_remove() (which does the free_irq()), which is -incorrect. - -Instead, do things properly in the reverse order of the -initialization: first remove the XOR channel (so that free_irq() is -done), and then dispose the IRQ mapping. - -This avoids ugly warnings when for some reason one of the XOR channel -fails to initialize. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - drivers/dma/mv_xor.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c -index ac71f55..cc5d23d 100644 ---- a/drivers/dma/mv_xor.c -+++ b/drivers/dma/mv_xor.c -@@ -1361,9 +1361,9 @@ static int mv_xor_probe(struct platform_device *pdev) - err_channel_add: - for (i = 0; i < MV_XOR_MAX_CHANNELS; i++) - if (xordev->channels[i]) { -+ mv_xor_channel_remove(xordev->channels[i]); - if (pdev->dev.of_node) - irq_dispose_mapping(xordev->channels[i]->irq); -- mv_xor_channel_remove(xordev->channels[i]); - } - - clk_disable_unprepare(xordev->clk); --- -1.7.10.4 |