From cf01eef08c3fd393b0ec163050516d8eedbf0083 Mon Sep 17 00:00:00 2001 From: Javier Achirica Date: Tue, 17 Jan 2006 08:01:01 -0500 Subject: [PATCH] --- yaml --- r: 18823 b: refs/heads/master c: 2610c733023850be2db9fef9c81f851a64bb9f67 h: refs/heads/master i: 18821: 2e13c5f391dc69ef0653e155fcda55b0c5397588 18819: a0827a0aa904d7679951d42fe539242c2f4f5b93 18815: 72f654716401f89bd20d9572c4fa647804848385 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/airo.c | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 08e755f16e27..94c1546d8654 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 38bd3b2629702894ca3528358ffc447bbacc9442 +refs/heads/master: 2610c733023850be2db9fef9c81f851a64bb9f67 diff --git a/trunk/drivers/net/wireless/airo.c b/trunk/drivers/net/wireless/airo.c index 65057348838b..a4c7ae94614d 100644 --- a/trunk/drivers/net/wireless/airo.c +++ b/trunk/drivers/net/wireless/airo.c @@ -5668,13 +5668,13 @@ static int airo_set_freq(struct net_device *dev, int channel = fwrq->m; /* We should do a better check than that, * based on the card capability !!! */ - if((channel < 1) || (channel > 16)) { + if((channel < 1) || (channel > 14)) { printk(KERN_DEBUG "%s: New channel value of %d is invalid!\n", dev->name, fwrq->m); rc = -EINVAL; } else { readConfigRid(local, 1); /* Yes ! We can set it !!! */ - local->config.channelSet = (u16)(channel - 1); + local->config.channelSet = (u16) channel; set_bit (FLAG_COMMIT, &local->flags); } } @@ -5692,6 +5692,7 @@ static int airo_get_freq(struct net_device *dev, { struct airo_info *local = dev->priv; StatusRid status_rid; /* Card status info */ + int ch; readConfigRid(local, 1); if ((local->config.opmode & 0xFF) == MODE_STA_ESS) @@ -5699,16 +5700,14 @@ static int airo_get_freq(struct net_device *dev, else readStatusRid(local, &status_rid, 1); -#ifdef WEXT_USECHANNELS - fwrq->m = ((int)status_rid.channel) + 1; - fwrq->e = 0; -#else - { - int f = (int)status_rid.channel; - fwrq->m = frequency_list[f] * 100000; + ch = (int)status_rid.channel; + if((ch > 0) && (ch < 15)) { + fwrq->m = frequency_list[ch - 1] * 100000; fwrq->e = 1; + } else { + fwrq->m = ch; + fwrq->e = 0; } -#endif return 0; }