projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
arm64: dts: rockchip: reorder some nodes for rk3399
[firefly-linux-kernel-4.4.55.git]
/
kernel
/
irq
/
manage.c
diff --git
a/kernel/irq/manage.c
b/kernel/irq/manage.c
index 0eebaeef317bc990e3ee1b1bd1719b9e89211685..6ead200370da0cfe15b9c6732ec5ec4e3a7523a9 100644
(file)
--- a/
kernel/irq/manage.c
+++ b/
kernel/irq/manage.c
@@
-1434,6
+1434,7
@@
static struct irqaction *__free_irq(unsigned int irq, void *dev_id)
if (!desc)
return NULL;
if (!desc)
return NULL;
+ chip_bus_lock(desc);
raw_spin_lock_irqsave(&desc->lock, flags);
/*
raw_spin_lock_irqsave(&desc->lock, flags);
/*
@@
-1447,7
+1448,7
@@
static struct irqaction *__free_irq(unsigned int irq, void *dev_id)
if (!action) {
WARN(1, "Trying to free already-free IRQ %d\n", irq);
raw_spin_unlock_irqrestore(&desc->lock, flags);
if (!action) {
WARN(1, "Trying to free already-free IRQ %d\n", irq);
raw_spin_unlock_irqrestore(&desc->lock, flags);
-
+ chip_bus_sync_unlock(desc);
return NULL;
}
return NULL;
}
@@
-1475,6
+1476,7
@@
static struct irqaction *__free_irq(unsigned int irq, void *dev_id)
#endif
raw_spin_unlock_irqrestore(&desc->lock, flags);
#endif
raw_spin_unlock_irqrestore(&desc->lock, flags);
+ chip_bus_sync_unlock(desc);
unregister_handler_proc(irq, action);
unregister_handler_proc(irq, action);
@@
-1553,9
+1555,7
@@
void free_irq(unsigned int irq, void *dev_id)
desc->affinity_notify = NULL;
#endif
desc->affinity_notify = NULL;
#endif
- chip_bus_lock(desc);
kfree(__free_irq(irq, dev_id));
kfree(__free_irq(irq, dev_id));
- chip_bus_sync_unlock(desc);
}
EXPORT_SYMBOL(free_irq);
}
EXPORT_SYMBOL(free_irq);