It's not always easy to know when to speak and when not to speak in situations like this; as the Bible says, there is "a time to be silent and a time to speak" (Ecclesiastes 3:7).
If we know someone is headed toward moral and spiritual disaster, why wouldn't we rebuke them and try to make them realize what will happen? But if they steadfastly refuse to listen, then sometimes the only thing we can do is let them know we still love them and pray for them, even if we don't approve of what they're doing. They know where we stand, and it's better to try to keep our relationship alive than cut it off. If they do come to their senses later on, they'll be more likely to come back to us.
Do you remember Jesus' parable of the Prodigal Son? (You can read it in Luke 15.) I'm sure the father repeatedly warned his son of the dangers he faced because of his rebellion, but the son refused to listen, and his father finally let him go. Eventually, the son's sins caught up with him and he returned to his father -- who joyously welcomed him home. God does the same with us.
Pray for your son, knowing that God is able to do what you cannot, and He can influence his life even when you can't. Remember: God "is able to do immeasurably more than all we ask or imagine" (Ephesians 3:20).