lkml.org 
[lkml]   [2011]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] staging: r8712u: Fix driver to support ad-hoc mode
On 04/28/2011 10:08 AM, clemens fischer wrote:
>> Larry Finger:
>
>> From: Jeff Chua<jeff.chua.linux@gmail.com>
>>
>> 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<jeff.chua.linux@gmail.com>
>> Signed-off-by: Larry Finger<Larry.Finger@lwfinger.net>
>> Cc: Stable<stable@kernel.org>
>> ---
>>
>> 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
Index: linux-2.6/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
===================================================================
--- linux-2.6.orig/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
+++ linux-2.6/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
@@ -990,8 +990,6 @@ static int r8711_wx_set_wap(struct net_d
struct wlan_network *pnetwork = NULL;
enum NDIS_802_11_AUTHENTICATION_MODE authmode;

- if (padapter->bup == false)
- return -1;
if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY) == true)
return -1;
if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING) == true)
@@ -1182,8 +1180,6 @@ static int r8711_wx_set_essid(struct net
struct list_head *phead;
u32 len;

- if (padapter->bup == false)
- return -1;
if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY))
return -1;
if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING))
\
 
 \ /
  Last update: 2011-04-28 17:33    [W:0.086 / U:0.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site