diff --git a/net/sched/act_api.c b/net/sched/act_api.c index ecede5158a29593684d1e6fcb39cf448e5ac9ae7..5a361deb804a3146d0aed8b2d378963be51db581 100644 --- a/net/sched/act_api.c +++ b/net/sched/act_api.c @@ -834,7 +834,6 @@ int tcf_idr_check_alloc(struct tc_action_net *tn, u32 *index, u32 max; if (*index) { -again: rcu_read_lock(); p = idr_find(&idrinfo->action_idr, *index); @@ -843,7 +842,7 @@ int tcf_idr_check_alloc(struct tc_action_net *tn, u32 *index, * index but did not assign the pointer yet. */ rcu_read_unlock(); - goto again; + return -EAGAIN; } if (!p) {