I'm not exactly sure what's causing the problem, but you generally want to avoid re-defining functions inside of dynamics like these. Every time the manipulate re-calculates the result, it redefines `g` and this seems to cause some sort of infinite update loop. It's better to do this:

    Manipulate[
     Solve[g[x] == g[m x], x],
     {{m, 2, "Times"}, -10, 10, 0.1},
     Initialization :> (
       g[x_] := Piecewise[{{2 - x, 1 <= x}, {x, x < 1}}]
       )
     ]