add SIOCSIWFREQ
SVN-Revision: 580
This commit is contained in:
parent
6652225166
commit
70938abbed
1 changed files with 22 additions and 1 deletions
|
@ -104,6 +104,27 @@ static int wlcompat_ioctl(struct net_device *dev,
|
||||||
wrqu->freq.e = 0;
|
wrqu->freq.e = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SIOCSIWFREQ:
|
||||||
|
{
|
||||||
|
if (wrqu->freq.e == 1) {
|
||||||
|
int channel = 0;
|
||||||
|
int f = wrqu->freq.m / 100000;
|
||||||
|
while ((channel < NUM_CHANNELS + 1) && (f != channel_frequency[channel]))
|
||||||
|
channel++;
|
||||||
|
|
||||||
|
if (channel == NUM_CHANNELS) { // channel not found
|
||||||
|
err = -EINVAL;
|
||||||
|
} else {
|
||||||
|
wrqu->freq.e = 0;
|
||||||
|
wrqu->freq.m = channel + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((wrqu->freq.e == 0) && (wrqu->freq.m < 1000)) {
|
||||||
|
wl_ioctl(dev, WLC_SET_CHANNEL, &wrqu->freq.m, sizeof(int));
|
||||||
|
} else {
|
||||||
|
err = -EINVAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
case SIOCGIWAP:
|
case SIOCGIWAP:
|
||||||
{
|
{
|
||||||
wrqu->ap_addr.sa_family = ARPHRD_ETHER;
|
wrqu->ap_addr.sa_family = ARPHRD_ETHER;
|
||||||
|
@ -174,7 +195,7 @@ static const iw_handler wlcompat_handler[] = {
|
||||||
wlcompat_ioctl, /* SIOCGIWNAME */
|
wlcompat_ioctl, /* SIOCGIWNAME */
|
||||||
NULL, /* SIOCSIWNWID */
|
NULL, /* SIOCSIWNWID */
|
||||||
NULL, /* SIOCGIWNWID */
|
NULL, /* SIOCGIWNWID */
|
||||||
NULL, /* SIOCSIWFREQ */
|
wlcompat_ioctl, /* SIOCSIWFREQ */
|
||||||
wlcompat_ioctl, /* SIOCGIWFREQ */
|
wlcompat_ioctl, /* SIOCGIWFREQ */
|
||||||
NULL, /* SIOCSIWMODE */
|
NULL, /* SIOCSIWMODE */
|
||||||
NULL, /* SIOCGIWMODE */
|
NULL, /* SIOCGIWMODE */
|
||||||
|
|
Loading…
Reference in a new issue