#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

Reply via email to