http://bugs.winehq.org/show_bug.cgi?id=8025
--- Comment #83 from Evan Goers megatog615@gmail.com 2011-04-08 19:25:21 CDT --- (In reply to comment #82)
Like in comment 72, sending pkill -CONT "hl2.exe" is a good workaround. You only have to issue it once when it freezes, after that it works for as long as you play. I played 3 hours straight when I figured this out(I was so glad to have finally found a way to make it work).
Just SSH in from another computer(a laptop nearby comes in handy), then launch the game from Steam. As soon as it hangs, issue the 'pkill -CONT "hl2.exe"' command. Then you can close the SSH, if you want.