Riot (introduced in Ravnica Allegiance) reads: 'This creature enters with your choice of a +1/+1 counter on it or haste.' The choice is made as the creature enters the battlefield, and nothing in the riot rules (CR 702.136) restricts your options based on abilities the creature already has from other sources.
Even if the creature would already have haste — from a static ability like Fires of Yavimaya, a lord, or any other permanent — you are still fully entitled to choose the +1/+1 counter instead of haste. The two options are simply always available to you; the game does not check whether one of them would be 'redundant.'
This is the correct ruling because riot's text grants a binary choice at the moment of entering; it does not say 'if the creature doesn't already have haste.' There is no rule that removes a riot option because its effect would be partially or fully redundant (similar to how you can still choose to put a +1/+1 counter on a creature with riot even if it has riot twice — each riot instance is handled separately per CR 702.136b).
Concrete example: You control Fires of Yavimaya (all your creatures have haste). You cast Gruul Spellbreaker, which has riot. Even though Spellbreaker would already gain haste from Fires of Yavimaya, you may still choose the +1/+1 counter from riot, and it enters as a 4/4 with haste rather than a 3/3 with haste.
Unofficial fan resource — not affiliated with or endorsed by Wizards of the Coast. Answers are AI-generated estimates grounded in the Comprehensive Rules and are not a substitute for an official judge. Verify anything match-critical.