I would condition on the flip after the first head.
E(X) = E(X|H)P(H) + E(X|T)P(T)
The expected number of flips until the first head is 1/(1/2) = 2.
If the flip after your first head is another head, you're done. If the flip after you're first head is a tails, you're not any closer to your goal than when you started.
so E(X) = (2+1)(1/2) + (2+1+E(X))(1/2)
E(X)(1-1/2) = 3
E(X) = 6