mirror of
https://github.com/aircrack-ng/rtl8812au.git
synced 2024-11-26 15:14:02 +00:00
Fix incorrect response to SIOCGIWESSID
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. When not associated with an AP, other wifi device drivers respond to the SIOCGIWESSID ioctl with a zero-length string for the SSID; this is the behaviour expected by dhcpcd. This driver returns an error code (-1) from the ioctl call - this causes dhcpcd to assume that the device is not a wireless interface and therefore it fails to work correctly with it thereafter. It would be good if the behaviour of this driver could be brought into line with that of other drivers for similar devices; that is for the response to SIOCGIWESSID to be a zero-length string and a success code rather than an error.
This commit is contained in:
parent
eaf96f0052
commit
8f04e62ca7
@ -2456,18 +2456,15 @@ static int rtw_wx_get_essid(struct net_device *dev,
|
||||
(check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == _TRUE)) {
|
||||
len = pcur_bss->Ssid.SsidLength;
|
||||
|
||||
wrqu->essid.length = len;
|
||||
|
||||
_rtw_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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user