It appears that Pranabendra beat me to providing a worked answer, but I thought I would explain what is wrong with your original attempt.
Mesh analysis is based on Kirchoff's voltage law, which states that if we consider the voltages around any closed loop in a circuit we have
$$ V_1 + V_2 + \ldots + V_n = 0$$
so that all the potential differences add to zero. The idea of mesh analysis is that if we can write the voltage across each component as either a constant or a simple function of the current through that component, then KVL allows us to write down an equation for the loop currents:
$$ V_1(i_1,\ldots,i_n) + V_2(i_1,\ldots,i_n) + \ldots + V_n(i_1,\ldots,i_n) = 0$$
This is easy for voltage sources and resistors, but for current sources it's not possible since the voltage across a current source depends upon the circuit it is connected to.
In your circuit there is an unknown potential difference across the current source, so your original equation for M2 was incorrect as you ignored this voltage. The way to remedy this is to write an equation for a loop that doesn't include the current source (e.g. the supermesh used by Pranabendra).