summaryrefslogtreecommitdiffstats
path: root/drivers/dpll/dpll_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/dpll/dpll_core.c')
-rw-r--r--drivers/dpll/dpll_core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dpll/dpll_core.c b/drivers/dpll/dpll_core.c
index 22c2f1375..d0f6693ca 100644
--- a/drivers/dpll/dpll_core.c
+++ b/drivers/dpll/dpll_core.c
@@ -449,7 +449,7 @@ static int dpll_pin_prop_dup(const struct dpll_pin_properties *src,
sizeof(*src->freq_supported);
dst->freq_supported = kmemdup(src->freq_supported,
freq_size, GFP_KERNEL);
- if (!dst->freq_supported)
+ if (!src->freq_supported)
return -ENOMEM;
}
if (src->board_label) {
@@ -589,9 +589,9 @@ void dpll_pin_put(struct dpll_pin *pin)
{
mutex_lock(&dpll_lock);
if (refcount_dec_and_test(&pin->refcount)) {
+ xa_erase(&dpll_pin_xa, pin->id);
xa_destroy(&pin->dpll_refs);
xa_destroy(&pin->parent_refs);
- xa_erase(&dpll_pin_xa, pin->id);
dpll_pin_prop_free(&pin->prop);
kfree_rcu(pin, rcu);
}