.. when you see it hang, does anything get logged in dmesg (eg a firmware panic) ? Try recompiling your kernel with: IEEE80211_DEBUG IWN_DEBUG That way it can be debugged :) The first thing I'd check is whether there's more fun races going on in the crypto code - try wlandebug +crypto . -a