mwifiex: remove wireless.h inclusion and fix resulting bugs
replace IW_MAX_AP & IW_CUSTOM_MAX with local definitions and remove usage of struct iw_statistics. Cc: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
7c966a6de5
commit
67a50035b3
|
@ -547,7 +547,7 @@ mwifiex_dump_station_info(struct mwifiex_private *priv,
|
||||||
sinfo->tx_bytes = priv->stats.tx_bytes;
|
sinfo->tx_bytes = priv->stats.tx_bytes;
|
||||||
sinfo->rx_packets = priv->stats.rx_packets;
|
sinfo->rx_packets = priv->stats.rx_packets;
|
||||||
sinfo->tx_packets = priv->stats.tx_packets;
|
sinfo->tx_packets = priv->stats.tx_packets;
|
||||||
sinfo->signal = priv->w_stats.qual.level;
|
sinfo->signal = priv->qual_level;
|
||||||
sinfo->txrate.legacy = rate.rate;
|
sinfo->txrate.legacy = rate.rate;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -156,7 +156,7 @@ static int mwifiex_allocate_adapter(struct mwifiex_adapter *adapter)
|
||||||
struct mwifiex_bssdescriptor *temp_scan_table;
|
struct mwifiex_bssdescriptor *temp_scan_table;
|
||||||
|
|
||||||
/* Allocate buffer to store the BSSID list */
|
/* Allocate buffer to store the BSSID list */
|
||||||
buf_size = sizeof(struct mwifiex_bssdescriptor) * IW_MAX_AP;
|
buf_size = sizeof(struct mwifiex_bssdescriptor) * MWIFIEX_MAX_AP;
|
||||||
temp_scan_table = kzalloc(buf_size, GFP_KERNEL);
|
temp_scan_table = kzalloc(buf_size, GFP_KERNEL);
|
||||||
if (!temp_scan_table) {
|
if (!temp_scan_table) {
|
||||||
dev_err(adapter->dev, "%s: failed to alloc temp_scan_table\n",
|
dev_err(adapter->dev, "%s: failed to alloc temp_scan_table\n",
|
||||||
|
@ -224,7 +224,7 @@ static void mwifiex_init_adapter(struct mwifiex_adapter *adapter)
|
||||||
|
|
||||||
adapter->num_in_scan_table = 0;
|
adapter->num_in_scan_table = 0;
|
||||||
memset(adapter->scan_table, 0,
|
memset(adapter->scan_table, 0,
|
||||||
(sizeof(struct mwifiex_bssdescriptor) * IW_MAX_AP));
|
(sizeof(struct mwifiex_bssdescriptor) * MWIFIEX_MAX_AP));
|
||||||
adapter->scan_probes = 1;
|
adapter->scan_probes = 1;
|
||||||
|
|
||||||
memset(adapter->bcn_buf, 0, sizeof(adapter->bcn_buf));
|
memset(adapter->bcn_buf, 0, sizeof(adapter->bcn_buf));
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
#ifndef _MWIFIEX_IOCTL_H_
|
#ifndef _MWIFIEX_IOCTL_H_
|
||||||
#define _MWIFIEX_IOCTL_H_
|
#define _MWIFIEX_IOCTL_H_
|
||||||
|
|
||||||
#include <linux/wireless.h>
|
|
||||||
#include <net/mac80211.h>
|
#include <net/mac80211.h>
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -308,10 +307,12 @@ struct mwifiex_ds_read_eeprom {
|
||||||
u8 value[MAX_EEPROM_DATA];
|
u8 value[MAX_EEPROM_DATA];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define IEEE_MAX_IE_SIZE 256
|
||||||
|
|
||||||
struct mwifiex_ds_misc_gen_ie {
|
struct mwifiex_ds_misc_gen_ie {
|
||||||
u32 type;
|
u32 type;
|
||||||
u32 len;
|
u32 len;
|
||||||
u8 ie_data[IW_CUSTOM_MAX];
|
u8 ie_data[IEEE_MAX_IE_SIZE];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct mwifiex_ds_misc_cmd {
|
struct mwifiex_ds_misc_cmd {
|
||||||
|
|
|
@ -54,6 +54,8 @@ struct mwifiex_drv_mode {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#define MWIFIEX_MAX_AP 64
|
||||||
|
|
||||||
#define MWIFIEX_DEFAULT_WATCHDOG_TIMEOUT (5 * HZ)
|
#define MWIFIEX_DEFAULT_WATCHDOG_TIMEOUT (5 * HZ)
|
||||||
|
|
||||||
#define MWIFIEX_TIMER_10S 10000
|
#define MWIFIEX_TIMER_10S 10000
|
||||||
|
@ -246,8 +248,6 @@ struct ieee_types_obss_scan_param {
|
||||||
|
|
||||||
#define MWIFIEX_SUPPORTED_RATES_EXT 32
|
#define MWIFIEX_SUPPORTED_RATES_EXT 32
|
||||||
|
|
||||||
#define IEEE_MAX_IE_SIZE 256
|
|
||||||
|
|
||||||
struct ieee_types_vendor_specific {
|
struct ieee_types_vendor_specific {
|
||||||
struct ieee_types_vendor_header vend_hdr;
|
struct ieee_types_vendor_header vend_hdr;
|
||||||
u8 data[IEEE_MAX_IE_SIZE - sizeof(struct ieee_types_vendor_header)];
|
u8 data[IEEE_MAX_IE_SIZE - sizeof(struct ieee_types_vendor_header)];
|
||||||
|
@ -468,7 +468,7 @@ struct mwifiex_private {
|
||||||
struct dentry *dfs_dev_dir;
|
struct dentry *dfs_dev_dir;
|
||||||
#endif
|
#endif
|
||||||
u8 nick_name[16];
|
u8 nick_name[16];
|
||||||
struct iw_statistics w_stats;
|
u8 qual_level, qual_noise;
|
||||||
u16 current_key_index;
|
u16 current_key_index;
|
||||||
struct semaphore async_sem;
|
struct semaphore async_sem;
|
||||||
u8 scan_pending_on_block;
|
u8 scan_pending_on_block;
|
||||||
|
|
|
@ -2308,7 +2308,7 @@ int mwifiex_scan_networks(struct mwifiex_private *priv,
|
||||||
|
|
||||||
if (!keep_previous_scan) {
|
if (!keep_previous_scan) {
|
||||||
memset(adapter->scan_table, 0x00,
|
memset(adapter->scan_table, 0x00,
|
||||||
sizeof(struct mwifiex_bssdescriptor) * IW_MAX_AP);
|
sizeof(struct mwifiex_bssdescriptor) * MWIFIEX_MAX_AP);
|
||||||
adapter->num_in_scan_table = 0;
|
adapter->num_in_scan_table = 0;
|
||||||
adapter->bcn_buf_end = adapter->bcn_buf;
|
adapter->bcn_buf_end = adapter->bcn_buf;
|
||||||
}
|
}
|
||||||
|
@ -2430,7 +2430,7 @@ int mwifiex_ret_802_11_scan(struct mwifiex_private *priv,
|
||||||
scan_rsp = &resp->params.scan_resp;
|
scan_rsp = &resp->params.scan_resp;
|
||||||
|
|
||||||
|
|
||||||
if (scan_rsp->number_of_sets > IW_MAX_AP) {
|
if (scan_rsp->number_of_sets > MWIFIEX_MAX_AP) {
|
||||||
dev_err(adapter->dev, "SCAN_RESP: too many AP returned (%d)\n",
|
dev_err(adapter->dev, "SCAN_RESP: too many AP returned (%d)\n",
|
||||||
scan_rsp->number_of_sets);
|
scan_rsp->number_of_sets);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
@ -2542,7 +2542,7 @@ int mwifiex_ret_802_11_scan(struct mwifiex_private *priv,
|
||||||
if (bss_idx == num_in_table) {
|
if (bss_idx == num_in_table) {
|
||||||
/* Range check the bss_idx, keep it limited to
|
/* Range check the bss_idx, keep it limited to
|
||||||
the last entry */
|
the last entry */
|
||||||
if (bss_idx == IW_MAX_AP)
|
if (bss_idx == MWIFIEX_MAX_AP)
|
||||||
bss_idx--;
|
bss_idx--;
|
||||||
else
|
else
|
||||||
num_in_table++;
|
num_in_table++;
|
||||||
|
|
|
@ -130,8 +130,8 @@ mwifiex_reset_connect_state(struct mwifiex_private *priv)
|
||||||
if (netif_carrier_ok(priv->netdev))
|
if (netif_carrier_ok(priv->netdev))
|
||||||
netif_carrier_off(priv->netdev);
|
netif_carrier_off(priv->netdev);
|
||||||
/* Reset wireless stats signal info */
|
/* Reset wireless stats signal info */
|
||||||
priv->w_stats.qual.level = 0;
|
priv->qual_level = 0;
|
||||||
priv->w_stats.qual.noise = 0;
|
priv->qual_noise = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -301,7 +301,7 @@ int mwifiex_process_sta_event(struct mwifiex_private *priv)
|
||||||
dev_dbg(adapter->dev, "event: BGS_REPORT\n");
|
dev_dbg(adapter->dev, "event: BGS_REPORT\n");
|
||||||
/* Clear the previous scan result */
|
/* Clear the previous scan result */
|
||||||
memset(adapter->scan_table, 0x00,
|
memset(adapter->scan_table, 0x00,
|
||||||
sizeof(struct mwifiex_bssdescriptor) * IW_MAX_AP);
|
sizeof(struct mwifiex_bssdescriptor) * MWIFIEX_MAX_AP);
|
||||||
adapter->num_in_scan_table = 0;
|
adapter->num_in_scan_table = 0;
|
||||||
adapter->bcn_buf_end = adapter->bcn_buf;
|
adapter->bcn_buf_end = adapter->bcn_buf;
|
||||||
ret = mwifiex_send_cmd_async(priv,
|
ret = mwifiex_send_cmd_async(priv,
|
||||||
|
|
|
@ -1280,9 +1280,9 @@ int mwifiex_get_signal_info(struct mwifiex_private *priv,
|
||||||
|
|
||||||
if (!status) {
|
if (!status) {
|
||||||
if (signal->selector & BCN_RSSI_AVG_MASK)
|
if (signal->selector & BCN_RSSI_AVG_MASK)
|
||||||
priv->w_stats.qual.level = signal->bcn_rssi_avg;
|
priv->qual_level = signal->bcn_rssi_avg;
|
||||||
if (signal->selector & BCN_NF_AVG_MASK)
|
if (signal->selector & BCN_NF_AVG_MASK)
|
||||||
priv->w_stats.qual.noise = signal->bcn_nf_avg;
|
priv->qual_noise = signal->bcn_nf_avg;
|
||||||
}
|
}
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
|
@ -1341,18 +1341,8 @@ int
|
||||||
mwifiex_get_stats_info(struct mwifiex_private *priv,
|
mwifiex_get_stats_info(struct mwifiex_private *priv,
|
||||||
struct mwifiex_ds_get_stats *log)
|
struct mwifiex_ds_get_stats *log)
|
||||||
{
|
{
|
||||||
int ret;
|
return mwifiex_send_cmd_sync(priv, HostCmd_CMD_802_11_GET_LOG,
|
||||||
|
|
||||||
ret = mwifiex_send_cmd_sync(priv, HostCmd_CMD_802_11_GET_LOG,
|
|
||||||
HostCmd_ACT_GEN_GET, 0, log);
|
HostCmd_ACT_GEN_GET, 0, log);
|
||||||
|
|
||||||
if (!ret) {
|
|
||||||
priv->w_stats.discard.fragment = log->fcs_error;
|
|
||||||
priv->w_stats.discard.retries = log->retry;
|
|
||||||
priv->w_stats.discard.misc = log->ack_failure;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1594,7 +1584,7 @@ mwifiex_set_gen_ie(struct mwifiex_private *priv, u8 *ie, int ie_len)
|
||||||
{
|
{
|
||||||
struct mwifiex_ds_misc_gen_ie gen_ie;
|
struct mwifiex_ds_misc_gen_ie gen_ie;
|
||||||
|
|
||||||
if (ie_len > IW_CUSTOM_MAX)
|
if (ie_len > IEEE_MAX_IE_SIZE)
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
gen_ie.type = MWIFIEX_IE_TYPE_GEN_IE;
|
gen_ie.type = MWIFIEX_IE_TYPE_GEN_IE;
|
||||||
|
|
Loading…
Reference in New Issue