#294: ieee80211_ioctl_setmlme returns EINVAL on success
-----------------------------------+----------------------------------------
Reporter: [EMAIL PROTECTED] | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: madwifi: 802.11 stack | Version:
Keywords: |
-----------------------------------+----------------------------------------
madwifi-ng rev 1375, wpa_supplicant 0.4.7, Fedora Core 4,
2.6.14-1.1653_FC4
02:05.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg
NIC (rev 01)
02:05.0 Class 0200: 168c:0013 (rev 01)
wpa_supplicant returns "ioctl[unknown???]: Invalid argument" and fails to
associate when trying to manage WPA-PSK.
Traced it down to ieee80211_wireless.c lines 2738 - 2759,
ieee80211_ioctl_setmlme called with mlme->im_op set to
IEEE80211_MLME_ASSOC. The routine proceedes to calling schedule in a loop
waiting for vap->iv_nsdone to be set. The value in
vap->iv_nsparams.result appears to eventually come from ieee80211_newstate
in ieee80211_proto.c which always returns 0. This causes the routine to
return EINVAL on success.
In my working copy of the code, either commenting out "if
(vap->iv_nsparams.result)" or changing the code to "return
vap->iv_nsparams.result" allows wpa_supplicant to complete association.
--
Ticket URL: <http://www.madwifi.org/ticket/294>
MadWifi <http://madwifi.org/>
Multiband Atheros Driver for Wireless Fidelity