I have a problem with my permanent magnet DC brushed motor. I'm trying to drive it from N-Channel and P-Channel MOSFETs from STM32F100 pin (3,3V logic). I want to turn the motor on and off only, speed is controlled via step-down converter (LM2679-ADJ) and potentiometer. At first I tried to turn the motor on by push button connected to STM pin. Every time the motor has stopped after half of a turn (it has mechanical commutator). Both transistors turned off without my input. Later on I've put instruction in main loop of STM to constantly turn on the N-MOSFET and the motor started to work properly. I wonder what is wrong in schematics that causing that particular situation. I measured voltage across Zener diode and it's 12V when N-MOSFET is turned on. IRF5210 is fully turned on at Vgs=-10V according to datasheet.
Schematics in attachment. Any help will be appreciated.