Message ID | 20171125193238.23567-1-Larry.Finger@lwfinger.net |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
Series | [V2] staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID | expand |
On Sat, Nov 25, 2017 at 01:32:38PM -0600, Larry Finger wrote: > When not associated with an AP, wifi device drivers should respond to the > SIOCGIWESSID ioctl with a zero-length string for the SSID, which is the > behavior expected by dhcpcd. > > Currently, this driver returns an error code (-1) from the ioctl call, > which causes dhcpcd to assume that the device is not a wireless interface > and therefore it fails to work correctly with it thereafter. > > This problem was reported and tested at > https://github.com/lwfinger/rtl8188eu/issues/234. > > Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> > --- > > v2 - completed missing subject Ah, nevermind, you already did...
diff --git a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c index c0664dc80bf2..446310775e90 100644 --- a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c @@ -1395,19 +1395,13 @@ static int rtw_wx_get_essid(struct net_device *dev, if ((check_fwstate(pmlmepriv, _FW_LINKED)) || (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE))) { len = pcur_bss->Ssid.SsidLength; - - wrqu->essid.length = len; - memcpy(extra, pcur_bss->Ssid.Ssid, len); - - wrqu->essid.flags = 1; } else { - ret = -1; - goto exit; + len = 0; + *extra = 0; } - -exit: - + wrqu->essid.length = len; + wrqu->essid.flags = 1; return ret; }
When not associated with an AP, wifi device drivers should respond to the SIOCGIWESSID ioctl with a zero-length string for the SSID, which is the behavior expected by dhcpcd. Currently, this driver returns an error code (-1) from the ioctl call, which causes dhcpcd to assume that the device is not a wireless interface and therefore it fails to work correctly with it thereafter. This problem was reported and tested at https://github.com/lwfinger/rtl8188eu/issues/234. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> --- v2 - completed missing subject drivers/staging/rtl8188eu/os_dep/ioctl_linux.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-)