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