modify SIOCSIWAP call to associate with a specific bssid when in managed mode

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1051 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
Felix Fietkau
2005-05-24 15:23:45 +00:00
parent 9c63e3bbfe
commit f4582ec1b3

View File

@@ -314,10 +314,15 @@ static int wlcompat_ioctl(struct net_device *dev,
}
case SIOCSIWAP:
{
int ap = 0;
if (wrqu->ap_addr.sa_family != ARPHRD_ETHER)
return -EINVAL;
if (wl_ioctl(dev,WLC_SET_BSSID,wrqu->ap_addr.sa_data,6) < 0)
if (wl_ioctl(dev, WLC_GET_AP, &ap, sizeof(ap)) < 0)
return -EINVAL;
if (wl_ioctl(dev, (ap ? WLC_SET_BSSID : WLC_REASSOC), wrqu->ap_addr.sa_data, 6) < 0)
return -EINVAL;
break;