mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-08-24 22:28:04 +03:00
disable speedbooster if wds is enabled
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2016 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
09a61ff0f1
commit
5c0fd9d8e7
@ -172,6 +172,7 @@ void setup_bcom(int skfd, char *ifname)
|
|||||||
char buf[8192];
|
char buf[8192];
|
||||||
char wbuf[80];
|
char wbuf[80];
|
||||||
char *v;
|
char *v;
|
||||||
|
int wds_enabled = 0;
|
||||||
|
|
||||||
if (bcom_ioctl(skfd, ifname, WLC_GET_MAGIC, &val, sizeof(val)) < 0)
|
if (bcom_ioctl(skfd, ifname, WLC_GET_MAGIC, &val, sizeof(val)) < 0)
|
||||||
return;
|
return;
|
||||||
@ -185,16 +186,9 @@ void setup_bcom(int skfd, char *ifname)
|
|||||||
buf[3] = 0;
|
buf[3] = 0;
|
||||||
bcom_ioctl(skfd, ifname, WLC_SET_COUNTRY, buf, 4);
|
bcom_ioctl(skfd, ifname, WLC_SET_COUNTRY, buf, 4);
|
||||||
|
|
||||||
/* Set up afterburner */
|
|
||||||
val = ABO_AUTO;
|
|
||||||
if (nvram_enabled(wl_var("afterburner")))
|
|
||||||
val = ABO_ON;
|
|
||||||
if (nvram_disabled(wl_var("afterburner")))
|
|
||||||
val = ABO_OFF;
|
|
||||||
bcom_set_val(skfd, ifname, "afterburner_override", &val, sizeof(val));
|
|
||||||
|
|
||||||
/* Set other options */
|
/* Set other options */
|
||||||
val = nvram_enabled(wl_var("lazywds"));
|
val = nvram_enabled(wl_var("lazywds"));
|
||||||
|
wds_enabled = val;
|
||||||
bcom_ioctl(skfd, ifname, WLC_SET_LAZYWDS, &val, sizeof(val));
|
bcom_ioctl(skfd, ifname, WLC_SET_LAZYWDS, &val, sizeof(val));
|
||||||
|
|
||||||
if (v = nvram_get(wl_var("frag"))) {
|
if (v = nvram_get(wl_var("frag"))) {
|
||||||
@ -270,11 +264,25 @@ void setup_bcom(int skfd, char *ifname)
|
|||||||
if (ether_atoe(wbuf, addr->ether_addr_octet)) {
|
if (ether_atoe(wbuf, addr->ether_addr_octet)) {
|
||||||
wdslist->count++;
|
wdslist->count++;
|
||||||
addr++;
|
addr++;
|
||||||
|
wds_enabled = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bcom_ioctl(skfd, ifname, WLC_SET_WDSLIST, buf, sizeof(buf));
|
bcom_ioctl(skfd, ifname, WLC_SET_WDSLIST, buf, sizeof(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set up afterburner, disabled it if WDS is enabled */
|
||||||
|
if (wds_enabled) {
|
||||||
|
val = ABO_OFF;
|
||||||
|
} else {
|
||||||
|
val = ABO_AUTO;
|
||||||
|
if (nvram_enabled(wl_var("afterburner")))
|
||||||
|
val = ABO_ON;
|
||||||
|
if (nvram_disabled(wl_var("afterburner")))
|
||||||
|
val = ABO_OFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
bcom_set_val(skfd, ifname, "afterburner_override", &val, sizeof(val));
|
||||||
|
|
||||||
/* Set up G mode */
|
/* Set up G mode */
|
||||||
bcom_ioctl(skfd, ifname, WLC_GET_PHYTYPE, &val, sizeof(val));
|
bcom_ioctl(skfd, ifname, WLC_GET_PHYTYPE, &val, sizeof(val));
|
||||||
if (val == 2) {
|
if (val == 2) {
|
||||||
|
Loading…
Reference in New Issue
Block a user