Hard to say without knowing the root cause. I'd say freeze the wifi module first. That might automatically lock you to an older kernel if the new kernels changed the interface, but it'll give you the best chance at keeping as mich code updated as possible.
If the issue is not in the driver, then it's likely that freezing both will address the wifi issue.
I can't guarantee this will fix the freeze when the desktop environment loads, but if not, we can try to troubleshoot that separately