Found a hang while playing with wpa_supplicant and a zd1211 usb adapter using linux 2.6.19. The problem is that ieee80211softmac_wx_set_mlme forgets to release a mutex when mlme->cmd is IW_MLME_DEAUTH. The fix below allows me to kill wpa_supplicant and to restart it without having to reboot the machine. FWIW, it seems that the problem was introduced between 2.6.19-rc2 and 2.6.19-rc3 when this function was changed to use a mutex.
Signed-off-by: Maxime Austruy <[EMAIL PROTECTED]> -- net/ieee80211/softmac/ieee80211softmac_wx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- linux.orig/net/ieee80211/softmac/ieee80211softmac_wx.c 2006-11-29 13:57:37.000000000 -0800 +++ linux/net/ieee80211/softmac/ieee80211softmac_wx.c 2006-12-02 22:58:20.000000000 -0800 @@ -495,7 +495,8 @@ ieee80211softmac_wx_set_mlme(struct net_ printk(KERN_DEBUG PFX "wx_set_mlme: we should know the net here...\n"); goto out; } - return ieee80211softmac_deauth_req(mac, net, reason); + err = ieee80211softmac_deauth_req(mac, net, reason); + goto out; case IW_MLME_DISASSOC: ieee80211softmac_send_disassoc_req(mac, reason); mac->associnfo.associated = 0; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/