| .. | .. |
|---|
| 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", |
|---|