.. | .. |
---|
33 | 33 | else |
---|
34 | 34 | return rc; |
---|
35 | 35 | } |
---|
36 | | - if (clkspec.np == node && !clk_supplier) |
---|
| 36 | + if (clkspec.np == node && !clk_supplier) { |
---|
| 37 | + of_node_put(clkspec.np); |
---|
37 | 38 | return 0; |
---|
| 39 | + } |
---|
38 | 40 | pclk = of_clk_get_from_provider(&clkspec); |
---|
| 41 | + of_node_put(clkspec.np); |
---|
39 | 42 | if (IS_ERR(pclk)) { |
---|
40 | 43 | if (PTR_ERR(pclk) != -EPROBE_DEFER) |
---|
41 | 44 | pr_warn("clk: couldn't get parent clock %d for %pOF\n", |
---|
.. | .. |
---|
48 | 51 | if (rc < 0) |
---|
49 | 52 | goto err; |
---|
50 | 53 | if (clkspec.np == node && !clk_supplier) { |
---|
| 54 | + of_node_put(clkspec.np); |
---|
51 | 55 | rc = 0; |
---|
52 | 56 | goto err; |
---|
53 | 57 | } |
---|
54 | 58 | clk = of_clk_get_from_provider(&clkspec); |
---|
| 59 | + of_node_put(clkspec.np); |
---|
55 | 60 | if (IS_ERR(clk)) { |
---|
56 | 61 | if (PTR_ERR(clk) != -EPROBE_DEFER) |
---|
57 | 62 | pr_warn("clk: couldn't get assigned clock %d for %pOF\n", |
---|
.. | .. |
---|
93 | 98 | else |
---|
94 | 99 | return rc; |
---|
95 | 100 | } |
---|
96 | | - if (clkspec.np == node && !clk_supplier) |
---|
| 101 | + if (clkspec.np == node && !clk_supplier) { |
---|
| 102 | + of_node_put(clkspec.np); |
---|
97 | 103 | return 0; |
---|
| 104 | + } |
---|
98 | 105 | |
---|
99 | 106 | clk = of_clk_get_from_provider(&clkspec); |
---|
| 107 | + of_node_put(clkspec.np); |
---|
100 | 108 | if (IS_ERR(clk)) { |
---|
101 | 109 | if (PTR_ERR(clk) != -EPROBE_DEFER) |
---|
102 | 110 | pr_warn("clk: couldn't get clock %d for %pOF\n", |
---|