summaryrefslogtreecommitdiff
authormax <max>2003-02-12 01:05:29 (UTC)
committer max <max>2003-02-12 01:05:29 (UTC)
commit8072f9767faaf606c5bb0c6dd936ff895a9d189c (patch) (side-by-side diff)
tree7861b276122d12d94c814c808b7352b85ac10fcb
parentc7fe028f53eb676c9ce619840c0d0a4603a9301f (diff)
downloadopie-8072f9767faaf606c5bb0c6dd936ff895a9d189c.zip
opie-8072f9767faaf606c5bb0c6dd936ff895a9d189c.tar.gz
opie-8072f9767faaf606c5bb0c6dd936ff895a9d189c.tar.bz2
MAXCHANNEL dynamic detection
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/daemon/source/daemon.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/noncore/net/wellenreiter/daemon/source/daemon.cc b/noncore/net/wellenreiter/daemon/source/daemon.cc
index 46a50ed..d77d987 100644
--- a/noncore/net/wellenreiter/daemon/source/daemon.cc
+++ b/noncore/net/wellenreiter/daemon/source/daemon.cc
@@ -163,17 +163,26 @@ usage(void)
}
void *
channel_switcher(void *cardtypeptr)
{
wl_cardtype_t *cardtype;
+ int maxchan=0;
int channel=1;
-
/* Get card info struct */
cardtype = (wl_cardtype_t *)cardtypeptr;
-
+ /* Get from the wireless extension the amount of available channels
+ this prevents a fail in switching on us cards */
+ maxchan = card_detect_channels(cardtype->iface);
+
+ if (maxchan < MAXCHANNEL)
+ {
+ #undef MAXCHANNEL
+ #define MAXCHANNEL maxchan
+ }
+
while(1)
{
/* If channel bigger than maxchannel, set to 1 */
if(channel > MAXCHANNEL)
channel=1;