hi,
To Stop Recursion in Workflow make sure following while configuring your workflow rule:
1. Make sure your workflow rule criteria is :
created, and any time it’s edited to subsequently meet criteria
Explanation: (Default) Evaluate the rule criteria each time a record is created or updated.
For a new record, run the rule if the rule criteria is met.
For an updated record, run the rule only if the record is changed from not meeting the rule criteria to meeting the rule criteria.
With this option, the rule can run multiple times per record, but it won’t run when the record edits are unrelated to the rule criteria.
For example, suppose that for an opportunity record to meet the rule criteria, the opportunity probability must be greater than 50%. If you create an opportunity with a probability of 75%, the workflow rule runs. If you edit that opportunity by changing the probability to 25%, the edit doesn't cause the rule to run. If you then edit that opportunity by changing the probability from 25% to 75%, the edit causes the rule to run. With this last edit, the rule runs, because the record is changed from not meeting the rule criteria to meeting the rule criteria.
Above will make sure that workflow rule is not fired if entry criteria condition was already satisfied.
One more thing that In workflow actions if there is a Field Update then make sure it does not have Evaluate Workflow Rules in except it is required otherwise.