projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
830cbe4
)
irqchip: armada-370-xp: Fix releasing of MSIs
author
Neil Greatorex
<neil@fatboyfat.co.uk>
Fri, 18 Apr 2014 12:19:49 +0000
(14:19 +0200)
committer
Jason Cooper
<jason@lakedaemon.net>
Sun, 20 Apr 2014 19:14:34 +0000
(19:14 +0000)
Store the value of d->hwirq in a local variable as the real value is wiped out
by calling irq_dispose_mapping. Without this patch, the armada_370_xp_free_msi
function would always free MSI#0, no matter what was passed to it.
Fixes: 31f614edb726fcc4d5aa0f2895fbdec9b04a3ca4 ('irqchip: armada-370-xp: implement MSI support')
Cc: <stable@vger.kernel.org> # v3.13+
Signed-off-by: Neil Greatorex <neil@fatboyfat.co.uk>
Link:
https://lkml.kernel.org/r/1397823593-1932-4-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link:
https://lkml.kernel.org/r/1397823593-1932-4-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/irq-armada-370-xp.c
patch
|
blob
|
history
diff --git
a/drivers/irqchip/irq-armada-370-xp.c
b/drivers/irqchip/irq-armada-370-xp.c
index 78b0ac9129d7a583d8f700d8f550b461de064e60..868d11bc00d2f51c72df95dacf33fd933eb68aad 100644
(file)
--- a/
drivers/irqchip/irq-armada-370-xp.c
+++ b/
drivers/irqchip/irq-armada-370-xp.c
@@
-158,8
+158,10
@@
static void armada_370_xp_teardown_msi_irq(struct msi_chip *chip,
unsigned int irq)
{
struct irq_data *d = irq_get_irq_data(irq);
+ unsigned long hwirq = d->hwirq;
+
irq_dispose_mapping(irq);
- armada_370_xp_free_msi(
d->
hwirq);
+ armada_370_xp_free_msi(hwirq);
}
static int armada_370_xp_check_msi_device(struct msi_chip *chip, struct pci_dev *dev,