*** empty log message ***
[openwrt.git] / package / openwrt / wlcompat.c
index 01bfb0b..d010e2b 100644 (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;
This page took 0.024196 seconds and 4 git commands to generate.