Updating libertas wireless driver to latest version.
[openwrt/staging/florian.git] / package / libertas / src / 11d.c
index 5e10ce0d351c9e8467a83a1fb48725dec69f1c9b..40f1daadb57176d336b01e84fc635b52f82fe548 100644 (file)
@@ -46,11 +46,13 @@ static struct chan_freq_power channel_freq_power_UN_BG[] = {
 static u8 lbs_region_2_code(u8 *region)
 {
        u8 i;
+       u8 size = sizeof(region_code_mapping)/
+                 sizeof(struct region_code_mapping);
 
        for (i = 0; region[i] && i < COUNTRY_CODE_LEN; i++)
                region[i] = toupper(region[i]);
 
-       for (i = 0; i < ARRAY_SIZE(region_code_mapping); i++) {
+       for (i = 0; i < size; i++) {
                if (!memcmp(region, region_code_mapping[i].region,
                            COUNTRY_CODE_LEN))
                        return (region_code_mapping[i].code);
@@ -63,8 +65,9 @@ static u8 lbs_region_2_code(u8 *region)
 static u8 *lbs_code_2_region(u8 code)
 {
        u8 i;
-
-       for (i = 0; i < ARRAY_SIZE(region_code_mapping); i++) {
+       u8 size = sizeof(region_code_mapping)
+                 / sizeof(struct region_code_mapping);
+       for (i = 0; i < size; i++) {
                if (region_code_mapping[i].code == code)
                        return (region_code_mapping[i].region);
        }
@@ -87,7 +90,8 @@ static u8 lbs_get_chan_11d(u8 band, u8 firstchan, u8 nrchan, u8 *chan)
        u8 cfp_no;
 
        cfp = channel_freq_power_UN_BG;
-       cfp_no = ARRAY_SIZE(channel_freq_power_UN_BG);
+       cfp_no = sizeof(channel_freq_power_UN_BG) /
+           sizeof(struct chan_freq_power);
 
        for (i = 0; i < cfp_no; i++) {
                if ((cfp + i)->channel == firstchan) {
@@ -137,12 +141,16 @@ static u8 lbs_channel_known_11d(u8 chan,
 u32 lbs_chan_2_freq(u8 chan, u8 band)
 {
        struct chan_freq_power *cf;
+       u16 cnt;
        u16 i;
        u32 freq = 0;
 
        cf = channel_freq_power_UN_BG;
+       cnt =
+           sizeof(channel_freq_power_UN_BG) /
+           sizeof(struct chan_freq_power);
 
-       for (i = 0; i < ARRAY_SIZE(channel_freq_power_UN_BG); i++) {
+       for (i = 0; i < cnt; i++) {
                if (chan == cf[i].channel)
                        freq = cf[i].freq;
        }