Question: Substitute in procedure desn't work

I have a procedure that uses substitute. Below is my code

my_proc:=proc(func::`+`)
    ... #some calculatin

    subs([x[1] = 2, x[2] = 1], func);

end proc;
func:=5 + x[1]*x[2] + 10*x[1];
my_proc(func);

But when I call the procedure, her body is no substitution. What is the error? I can't understand what I did wrong?

Please Wait...