#include <dngl_stats.h>
#include <dhd.h>
#include <dhdioctl.h>
-
+#include <linux/ieee80211.h>
typedef const struct si_pub si_t;
#include <wlioctl.h>
int iscan_ex_param_size;
} iscan_info_t;
iscan_info_t *g_iscan;
+
+static const u8 ether_bcast[ETH_ALEN] = {255, 255, 255, 255, 255, 255};
+
static void wl_iw_timerfunc(unsigned long data);
static void wl_iw_set_event_mask(struct net_device *dev);
static int wl_iw_iscan(iscan_info_t *iscan, wlc_ssid_t *ssid, u16 action);
wl_rateset_t rateset;
s8 *channels;
int error, i, k;
- uint sf, ch;
+ uint ch;
int phytype;
int bw_cap = 0, sgi_tx = 0, nmode = 0;
range->freq[i].i = dtoh32(list->element[i]);
ch = dtoh32(list->element[i]);
- if (ch <= CH_MAX_2G_CHANNEL)
- sf = WF_CHAN_FACTOR_2_4_G;
- else
- sf = WF_CHAN_FACTOR_5_G;
-
- range->freq[i].m = wf_channel2mhz(ch, sf);
+ if (ch <= CH_MAX_2G_CHANNEL) {
+ range->freq[i].m = ieee80211_dsss_chan_to_freq(ch);
+ } else {
+ range->freq[i].m = ieee80211_ofdm_chan_to_freq(
+ WF_CHAN_FACTOR_5_G/2, ch);
+ }
range->freq[i].e = 6;
}
range->num_frequency = range->num_channels = i;
iw->spy_num = min_t(int, ARRAY_SIZE(iw->spy_addr), dwrq->length);
for (i = 0; i < iw->spy_num; i++)
- memcpy(&iw->spy_addr[i], addr[i].sa_data, ETH_ALEN);
+ memcpy(iw->spy_addr[i], addr[i].sa_data, ETH_ALEN);
memset(iw->spy_qual, 0, sizeof(iw->spy_qual));
return 0;
dwrq->length = iw->spy_num;
for (i = 0; i < iw->spy_num; i++) {
- memcpy(addr[i].sa_data, &iw->spy_addr[i], ETH_ALEN);
+ memcpy(addr[i].sa_data, iw->spy_addr[i], ETH_ALEN);
addr[i].sa_family = AF_UNIX;
memcpy(&qual[i], &iw->spy_qual[i], sizeof(struct iw_quality));
iw->spy_qual[i].updated = 0;
{
int err = 0;
- memcpy(¶ms->bssid, ðer_bcast, ETH_ALEN);
+ memcpy(params->bssid, ether_bcast, ETH_ALEN);
params->bss_type = DOT11_BSSTYPE_ANY;
params->scan_type = 0;
params->nprobes = -1;
}
iwe.cmd = SIOCGIWFREQ;
- iwe.u.freq.m = wf_channel2mhz(CHSPEC_CHANNEL(bi->chanspec),
- CHSPEC_CHANNEL(bi->chanspec) <=
- CH_MAX_2G_CHANNEL ?
- WF_CHAN_FACTOR_2_4_G :
- WF_CHAN_FACTOR_5_G);
+
+ if (CHSPEC_CHANNEL(bi->chanspec) <= CH_MAX_2G_CHANNEL)
+ iwe.u.freq.m = ieee80211_dsss_chan_to_freq(
+ CHSPEC_CHANNEL(bi->chanspec));
+ else
+ iwe.u.freq.m = ieee80211_ofdm_chan_to_freq(
+ WF_CHAN_FACTOR_5_G/2,
+ CHSPEC_CHANNEL(bi->chanspec));
+
iwe.u.freq.e = 6;
event =
IWE_STREAM_ADD_EVENT(info, event, end, &iwe,
channel =
(bi->ctl_ch ==
0) ? CHSPEC_CHANNEL(bi->chanspec) : bi->ctl_ch;
- iwe.u.freq.m =
- wf_channel2mhz(channel,
- channel <=
- CH_MAX_2G_CHANNEL ?
- WF_CHAN_FACTOR_2_4_G :
- WF_CHAN_FACTOR_5_G);
+
+ if (channel <= CH_MAX_2G_CHANNEL)
+ iwe.u.freq.m =
+ ieee80211_dsss_chan_to_freq(channel);
+ else
+ iwe.u.freq.m = ieee80211_ofdm_chan_to_freq(
+ WF_CHAN_FACTOR_5_G/2,
+ channel);
+
iwe.u.freq.e = 6;
event =
IWE_STREAM_ADD_EVENT(info, event, end, &iwe,
memcpy(&join_params.ssid.SSID, g_ssid.SSID, g_ssid.SSID_len);
join_params.ssid.SSID_len = htod32(g_ssid.SSID_len);
- memcpy(&join_params.params.bssid, ðer_bcast, ETH_ALEN);
+ memcpy(join_params.params.bssid, ether_bcast, ETH_ALEN);
wl_iw_ch_to_chanspec(g_wl_iw_params.target_channel, &join_params,
&join_params_size);
bcopy(&iwpmksa->bssid.sa_data[0],
&pmkidptr->pmkid[0].BSSID, ETH_ALEN);
bcopy(&iwpmksa->pmkid[0], &pmkidptr->pmkid[0].PMKID,
- WPA2_PMKID_LEN);
+ WLAN_PMKID_LEN);
- WL_WSEC("wl_iw_set_pmksa:IW_PMKSA_REMOVE:PMKID: %pM = ",
- &pmkidptr->pmkid[0].BSSID);
- for (j = 0; j < WPA2_PMKID_LEN; j++)
+ WL_WSEC("wl_iw_set_pmksa:IW_PMKSA_REMOVE:PMKID: "
+ "%pM = ", &pmkidptr->pmkid[0].BSSID);
+ for (j = 0; j < WLAN_PMKID_LEN; j++)
WL_WSEC("%02x ", pmkidptr->pmkid[0].PMKID[j]);
WL_WSEC("\n");
}
ETH_ALEN);
bcopy(&pmkid_list.pmkids.pmkid[i + 1].PMKID,
&pmkid_list.pmkids.pmkid[i].PMKID,
- WPA2_PMKID_LEN);
+ WLAN_PMKID_LEN);
}
pmkid_list.pmkids.npmkid--;
} else
ETH_ALEN);
bcopy(&iwpmksa->pmkid[0],
&pmkid_list.pmkids.pmkid[i].PMKID,
- WPA2_PMKID_LEN);
+ WLAN_PMKID_LEN);
if (i == pmkid_list.pmkids.npmkid)
pmkid_list.pmkids.npmkid++;
} else
k = pmkid_list.pmkids.npmkid;
WL_WSEC("wl_iw_set_pmksa,IW_PMKSA_ADD - PMKID: %pM = ",
&pmkid_list.pmkids.pmkid[k].BSSID);
- for (j = 0; j < WPA2_PMKID_LEN; j++)
+ for (j = 0; j < WLAN_PMKID_LEN; j++)
WL_WSEC("%02x ",
pmkid_list.pmkids.pmkid[k].PMKID[j]);
WL_WSEC("\n");
uint j;
WL_WSEC("PMKID[%d]: %pM = ",
i, &pmkid_list.pmkids.pmkid[i].BSSID);
- for (j = 0; j < WPA2_PMKID_LEN; j++)
+ for (j = 0; j < WLAN_PMKID_LEN; j++)
WL_WSEC("%02x ", pmkid_list.pmkids.pmkid[i].PMKID[j]);
WL_WSEC("\n");
}