On 04/28/2011 10:08 AM, clemens fischer wrote: >> Larry Finger: > >> From: Jeff Chua >> >> Driver r8712u is unable to handle ad-hoc mode. The issue is that when >> the driver first starts, there will not be an SSID for association. >> The fix is to always call the "select and join from scan" routine when >> in ad-hoc mode. >> >> Note: Ad-hoc mode worked intermittently before. If the driver had >> previously been associated, then things were OK. >> >> Signed-off-by: Jeff Chua >> Signed-off-by: Larry Finger >> Cc: Stable >> --- >> >> Index: linux-2.6/drivers/staging/rtl8712/rtl871x_ioctl_set.c >> =================================================================== >> --- linux-2.6.orig/drivers/staging/rtl8712/rtl871x_ioctl_set.c >> +++ linux-2.6/drivers/staging/rtl8712/rtl871x_ioctl_set.c >> @@ -68,7 +68,10 @@ static u8 do_join(struct _adapter *padap >> pmlmepriv->fw_state |= _FW_UNDER_LINKING; >> pmlmepriv->pscanned = plist; >> pmlmepriv->to_join = true; >> - if (_queue_empty(queue) == true) { >> + >> + /* adhoc mode will start with an empty queue, but skip checking */ >> + if (!check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)&& >> + _queue_empty(queue)) { >> if (pmlmepriv->fw_state& _FW_UNDER_LINKING) >> pmlmepriv->fw_state ^= _FW_UNDER_LINKING; >> /* when set_ssid/set_bssid for do_join(), but scanning queue > > Thanks for CC'ing me. > > This patch doesn't solve my problem[1], unfortunately. I am using > iwconfig(8) to setup things, and it is still impossible to set the ESSID > and the power saving mode. In my case it was even possible to get into > Ad-hoc mode without the patch and without ever beeing associated. > > [1] https://bugzilla.kernel.org/show_bug.cgi?id=33352 Does this one help? It should be in addition to the previous patch. Larry