summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openwrt/package/openwrt/wlcompat.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/openwrt/package/openwrt/wlcompat.c b/openwrt/package/openwrt/wlcompat.c
index 0c57d99f69..0dc382918d 100644
--- a/openwrt/package/openwrt/wlcompat.c
+++ b/openwrt/package/openwrt/wlcompat.c
@@ -168,12 +168,24 @@ static int wlcompat_ioctl(struct net_device *dev,
return -EINVAL;
break;
}
+ case SIOCSIWRTS:
+ {
+ if (wl_ioctl(dev,WLC_SET_RTS,&(wrqu->rts.value),sizeof(int)) < 0)
+ return -EINVAL;
+ break;
+ }
case SIOCGIWFRAG:
{
if (wl_ioctl(dev,WLC_GET_FRAG,&(wrqu->frag.value),sizeof(int)) < 0)
return -EINVAL;
break;
}
+ case SIOCSIWFRAG:
+ {
+ if (wl_ioctl(dev,WLC_SET_FRAG,&(wrqu->frag.value),sizeof(int)) < 0)
+ return -EINVAL;
+ break;
+ }
case SIOCGIWTXPOW:
{
wrqu->txpower.value = 0;
@@ -297,7 +309,7 @@ static const iw_handler wlcompat_handler[] = {
wlcompat_ioctl, /* SIOCGIWMODE */
NULL, /* SIOCSIWSENS */
NULL, /* SIOCGIWSENS */
- NULL, /* SIOCSIWRANGE */
+ NULL, /* SIOCSIWRANGE, unused */
wlcompat_ioctl, /* SIOCGIWRANGE */
NULL, /* SIOCSIWPRIV */
NULL, /* SIOCGIWPRIV */
@@ -321,9 +333,9 @@ static const iw_handler wlcompat_handler[] = {
NULL, /* -- hole -- */
NULL, /* SIOCSIWRATE */
NULL, /* SIOCGIWRATE */
- NULL, /* SIOCSIWRTS */
+ wlcompat_ioctl, /* SIOCSIWRTS */
wlcompat_ioctl, /* SIOCGIWRTS */
- NULL, /* SIOCSIWFRAG */
+ wlcompat_ioctl, /* SIOCSIWFRAG */
wlcompat_ioctl, /* SIOCGIWFRAG */
wlcompat_ioctl, /* SIOCSIWTXPOW */
wlcompat_ioctl, /* SIOCGIWTXPOW */