diff --git a/net/sched/act_police.c b/net/sched/act_police.c
index ee4665a5a022249a76578f936f67869f8abad870..37c9b8f0e10f07c65b48087cbc5ef1335eecb850 100644
--- a/net/sched/act_police.c
+++ b/net/sched/act_police.c
@@ -124,6 +124,7 @@ static int tcf_police_init(struct net *net, struct nlattr *nla,
 			return ret;
 		}
 		ret = ACT_P_CREATED;
+		spin_lock_init(&(to_police(*a)->tcfp_lock));
 	} else if (!ovr) {
 		tcf_idr_release(*a, bind);
 		return -EEXIST;