diff options
Diffstat (limited to 'drivers/dpll/dpll_core.c')
-rw-r--r-- | drivers/dpll/dpll_core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dpll/dpll_core.c b/drivers/dpll/dpll_core.c index 22c2f1375e..d0f6693ca1 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); } |