Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d485c45 authored by Cong Wang's avatar Cong Wang Committed by David S. Miller
Browse files

net_sched: remove unused tcf_idr_check()



tcf_idr_check() is replaced by tcf_idr_check_alloc(),
and __tcf_idr_check() now can be folded into tcf_idr_search().

Fixes: 0190c1d4 ("net: sched: atomically check-allocate action")
Cc: Jiri Pirko <jiri@mellanox.com>
Cc: Vlad Buslov <vladbu@mellanox.com>
Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b144e7ec
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -147,8 +147,6 @@ int tcf_generic_walker(struct tc_action_net *tn, struct sk_buff *skb,
		       const struct tc_action_ops *ops,
		       struct netlink_ext_ack *extack);
int tcf_idr_search(struct tc_action_net *tn, struct tc_action **a, u32 index);
bool tcf_idr_check(struct tc_action_net *tn, u32 index, struct tc_action **a,
		    int bind);
int tcf_idr_create(struct tc_action_net *tn, u32 index, struct nlattr *est,
		   struct tc_action **a, const struct tc_action_ops *ops,
		   int bind, bool cpustats);
+3 −19
Original line number Diff line number Diff line
@@ -300,21 +300,17 @@ int tcf_generic_walker(struct tc_action_net *tn, struct sk_buff *skb,
}
EXPORT_SYMBOL(tcf_generic_walker);

static bool __tcf_idr_check(struct tc_action_net *tn, u32 index,
			    struct tc_action **a, int bind)
int tcf_idr_search(struct tc_action_net *tn, struct tc_action **a, u32 index)
{
	struct tcf_idrinfo *idrinfo = tn->idrinfo;
	struct tc_action *p;

	spin_lock(&idrinfo->lock);
	p = idr_find(&idrinfo->action_idr, index);
	if (IS_ERR(p)) {
	if (IS_ERR(p))
		p = NULL;
	} else if (p) {
	else if (p)
		refcount_inc(&p->tcfa_refcnt);
		if (bind)
			atomic_inc(&p->tcfa_bindcnt);
	}
	spin_unlock(&idrinfo->lock);

	if (p) {
@@ -323,20 +319,8 @@ static bool __tcf_idr_check(struct tc_action_net *tn, u32 index,
	}
	return false;
}

int tcf_idr_search(struct tc_action_net *tn, struct tc_action **a, u32 index)
{
	return __tcf_idr_check(tn, index, a, 0);
}
EXPORT_SYMBOL(tcf_idr_search);

bool tcf_idr_check(struct tc_action_net *tn, u32 index, struct tc_action **a,
		   int bind)
{
	return __tcf_idr_check(tn, index, a, bind);
}
EXPORT_SYMBOL(tcf_idr_check);

static int tcf_idr_delete_index(struct tcf_idrinfo *idrinfo, u32 index)
{
	struct tc_action *p;