Apparently, you haven't spent any time working in academia or in any private setting. If McAdams had a complaint, the appropriate course of action was to take a complaint to the administration, not to expose a graduate student in his power to open harassment. That is unequivocally inappropriate, and he was suspended, not fired, for taking that route. That's called being fired for misconduct, not for speech.
Having looking into it more, with some additional description, actually, part of the reason he probably didn't do that, is because the graduate student actually handled the situation correctly. Given this notion that the student wanted to raise a lot of bullcrap about how children of gay couples "do a lot worse in life" (which is demonstrably false and is pure homophobic nonsense), the graduate student absolutely was correct in moving along swiftly to other examples and topics. It's called classroom management. The fact that the undergrad complained about not having a platform to grandstand about his homophobic views *that were not relevant to the principle* suggests strongly that the instructor had in fact a very good read on how the class would have gone had that been done.
In any event, the power dynamics are such that professors can't be running around badmouthing students in the public sphere, especially when it's predictable they'll open the student to harrassment. Yes, the student is a student and he has duties to his department's students. Period. It isn't like your stupid plumber, because you don't have the power to destroy that plumber's entire career and financial future. Sorry, but that fails to grasp how academia works.
So, yeah, you've got a right wing professor who screwed up and got reprimanded for it. Apparently he'd rather stay suspended, (with full pay, if I'm not mistaken) than admit that the way to handle this type of complaint is through university procedures, not through exposing the graduate student. This guy screwed up, and got suspended for it. That's not silencing.