# HG changeset patch # User Joseph Jezak # Node ID c931666214f5c1169a16abab809c8b3643deed80 # Parent bcd1477699bad89267d0a1cb45456d2dddaf8262 Fixed rates length. diff -r bcd1477699ba -r c931666214f5 ieee80211softmac_io.c --- a/ieee80211softmac_io.c Wed Nov 30 14:03:15 2005 +++ b/ieee80211softmac_io.c Wed Nov 30 14:04:49 2005 @@ -57,8 +57,8 @@ { int count; *dst++ = MFIE_TYPE_RATES; - if(r->count > MAX_RATES_LENGTH) - count = MAX_RATES_LENGTH; + if(r->count > IEEE80211SOFTMAC_MAX_RATES_LEN) + count = IEEE80211SOFTMAC_MAX_RATES_LEN; else count = r->count; *dst++ = count; @@ -75,12 +75,12 @@ { int count; *dst++ = MFIE_TYPE_RATES_EX; - if(r->count - MAX_RATES_LENGTH > MAX_RATES_EX_LENGTH) - count = MAX_RATES_EX_LENGTH; + if(r->count - IEEE80211SOFTMAC_MAX_RATES_LEN > IEEE80211SOFTMAC_MAX_EX_RATES_LEN) + count = IEEE80211SOFTMAC_MAX_EX_RATES_LEN; else count = r->count; *dst++ = count; - memcpy(dst, r->rates + MAX_RATES_LENGTH, count); + memcpy(dst, r->rates + IEEE80211SOFTMAC_MAX_RATES_LEN, count); return dst + count; } @@ -184,9 +184,9 @@ /* shouldn't all this be just 1 + 1 + ... (for tag, length and data)? */ 2 + 2 + IW_ESSID_MAX_SIZE + /* Rates IE */ - 2 + 2 + MAX_RATES_LENGTH + + 2 + 2 + IEEE80211SOFTMAC_MAX_RATES_LEN + /* Extended Rates IE */ - 2 + 2 + MAX_RATES_EX_LENGTH + 2 + 2 + IEEE80211SOFTMAC_MAX_EX_RATES_LEN /* Other IE's? Optional? * Yeah, probably need an extra IE parameter -- lots of vendors like to * fill in their own IEs */ @@ -226,7 +226,7 @@ /* SSID IE */ 2 + 2 + IW_ESSID_MAX_SIZE + /* Rates IE */ - 2 + 2 + MAX_RATES_LENGTH + 2 + 2 + IEEE80211SOFTMAC_MAX_RATES_LEN ); pkt = ieee80211softmac_alloc_mgt(pkt_size); if (pkt == NULL) @@ -330,9 +330,9 @@ /* SSID of requested network */ 2 + 2 + IW_ESSID_MAX_SIZE + /* Rates IE */ - 2 + 2 + MAX_RATES_LENGTH + + 2 + 2 + IEEE80211SOFTMAC_MAX_RATES_LEN + /* Extended Rates IE */ - 2 + 2 + MAX_RATES_EX_LENGTH + 2 + 2 + IEEE80211SOFTMAC_MAX_EX_RATES_LEN ); /* Allocate Packet */ pkt = ieee80211softmac_alloc_mgt(pkt_size); diff -r bcd1477699ba -r c931666214f5 net/ieee80211softmac.h --- a/net/ieee80211softmac.h Wed Nov 30 14:03:15 2005 +++ b/net/ieee80211softmac.h Wed Nov 30 14:04:49 2005 @@ -12,9 +12,12 @@ */ #define IEEE80211SOFTMAC_API 0 +#define IEEE80211SOFTMAC_MAX_RATES_LEN 8 +#define IEEE80211SOFTMAC_MAX_EX_RATES_LEN 255 + struct ieee80211softmac_ratesinfo { u8 count; - u8 rates[MAX_RATES_LENGTH + MAX_RATES_EX_LENGTH]; + u8 rates[IEEE80211SOFTMAC_MAX_RATES_LEN + IEEE80211SOFTMAC_MAX_EX_RATES_LEN]; }; /* This structure is internal to our