diff options
author | Jisheng Zhang <jszhang@marvell.com> | 2013-08-27 00:41:15 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2013-09-18 12:41:10 -0400 |
commit | 4ec7fc4abb554c6c9b0eda81ad1c9cb82c29aa79 (patch) | |
tree | a133de800c571e9b28f68f3966d7de800ff1a43e /drivers/bus | |
parent | abe511ac85de60f6d6ce1272b91c079d73bf8517 (diff) |
bus: mvebu: add missing of_node_put() to fix reference leak
Add of_node_put to properly decrement the refcount when we are
done using a given node.
Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Reviewed-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Conflicts:
drivers/bus/mvebu-mbus.c
Diffstat (limited to 'drivers/bus')
-rw-r--r-- | drivers/bus/mvebu-mbus.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/bus/mvebu-mbus.c b/drivers/bus/mvebu-mbus.c index 19ab6ff53d59..553185318963 100644 --- a/drivers/bus/mvebu-mbus.c +++ b/drivers/bus/mvebu-mbus.c | |||
@@ -700,6 +700,7 @@ static int __init mvebu_mbus_common_init(struct mvebu_mbus_state *mbus, | |||
700 | phys_addr_t sdramwins_phys_base, | 700 | phys_addr_t sdramwins_phys_base, |
701 | size_t sdramwins_size) | 701 | size_t sdramwins_size) |
702 | { | 702 | { |
703 | struct device_node *np; | ||
703 | int win; | 704 | int win; |
704 | 705 | ||
705 | mbus->mbuswins_base = ioremap(mbuswins_phys_base, mbuswins_size); | 706 | mbus->mbuswins_base = ioremap(mbuswins_phys_base, mbuswins_size); |
@@ -712,8 +713,11 @@ static int __init mvebu_mbus_common_init(struct mvebu_mbus_state *mbus, | |||
712 | return -ENOMEM; | 713 | return -ENOMEM; |
713 | } | 714 | } |
714 | 715 | ||
715 | if (of_find_compatible_node(NULL, NULL, "marvell,coherency-fabric")) | 716 | np = of_find_compatible_node(NULL, NULL, "marvell,coherency-fabric"); |
717 | if (np) { | ||
716 | mbus->hw_io_coherency = 1; | 718 | mbus->hw_io_coherency = 1; |
719 | of_node_put(np); | ||
720 | } | ||
717 | 721 | ||
718 | for (win = 0; win < mbus->soc->num_wins; win++) | 722 | for (win = 0; win < mbus->soc->num_wins; win++) |
719 | mvebu_mbus_disable_window(mbus, win); | 723 | mvebu_mbus_disable_window(mbus, win); |