}
 
 static struct mptcp_pm_addr_entry *
-__lookup_addr(struct pm_nl_pernet *pernet, const struct mptcp_addr_info *info,
-             bool lookup_by_id)
+__lookup_addr(struct pm_nl_pernet *pernet, const struct mptcp_addr_info *info)
 {
        struct mptcp_pm_addr_entry *entry;
 
        list_for_each_entry(entry, &pernet->local_addr_list, list) {
-               if ((!lookup_by_id &&
-                    mptcp_addresses_equal(&entry->addr, info, entry->addr.port)) ||
-                   (lookup_by_id && entry->addr.id == info->id))
+               if (mptcp_addresses_equal(&entry->addr, info, entry->addr.port))
                        return entry;
        }
        return NULL;
 
                mptcp_local_address((struct sock_common *)msk->first, &mpc_addr);
                rcu_read_lock();
-               entry = __lookup_addr(pernet, &mpc_addr, false);
+               entry = __lookup_addr(pernet, &mpc_addr);
                if (entry) {
                        __clear_bit(entry->addr.id, msk->pm.id_avail_bitmap);
                        msk->mpc_endpoint_id = entry->addr.id;
                bkup = 1;
 
        spin_lock_bh(&pernet->lock);
-       entry = __lookup_addr(pernet, &addr.addr, lookup_by_id);
+       entry = lookup_by_id ? __lookup_addr_by_id(pernet, addr.addr.id) :
+                              __lookup_addr(pernet, &addr.addr);
        if (!entry) {
                spin_unlock_bh(&pernet->lock);
                GENL_SET_ERR_MSG(info, "address not found");