When the XIF interface is enabled, the controller FSM uses the signals commit_valid_q and commit_kill_q to track whether an XIF instruction already received its commit transaction. These signals must be reset every time a new XIF instruction enters the EX stage, otherwise the commit transaction never happens causing a deadlock.
The current implementation sometimes fails to reset these signals when a new instruction enters the EX stage.