diff --git a/net/sched/act_api.c b/net/sched/act_api.c index ecede5158a29..5a361deb804a 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 @@ again: * index but did not assign the pointer yet. */ rcu_read_unlock(); - goto again; + return -EAGAIN; } if (!p) {