Commit 9eed787c authored by Roland Vossen's avatar Roland Vossen Committed by Greg Kroah-Hartman

staging: brcm80211: removed stats WEXT support from fullmac

Wireless Extension support is obsolete and made use of counters that are
going to be removed in the next patches.

Cc: devel@linuxdriverproject.org
Cc: linux-wireless@vger.kernel.org
Reviewed-by: default avatarHenry Ptasinski <henryp@broadcom.com>
Reviewed-by: default avatarBrett Rudley <brudley@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 83e60fc3
......@@ -385,10 +385,6 @@ module_param(dhd_pktgen_len, uint, 0);
#define DHD_COMPILED
#endif
#if defined(CONFIG_WIRELESS_EXT)
struct iw_statistics *dhd_get_wireless_stats(struct net_device *dev);
#endif /* defined(CONFIG_WIRELESS_EXT) */
static void dhd_dpc(unsigned long data);
/* forward decl */
extern int dhd_wait_pend8021x(struct net_device *dev);
......@@ -2205,18 +2201,6 @@ int dhd_net_attach(dhd_pub_t *dhdp, int ifidx)
net->hard_header_len = ETH_HLEN + dhd->pub.hdrlen;
net->ethtool_ops = &dhd_ethtool_ops;
#if defined(CONFIG_WIRELESS_EXT)
if (!IS_CFG80211_FAVORITE()) {
#if WIRELESS_EXT < 19
net->get_wireless_stats = dhd_get_wireless_stats;
#endif /* WIRELESS_EXT < 19 */
#if WIRELESS_EXT > 12
net->wireless_handlers =
(struct iw_handler_def *)&wl_iw_handler_def;
#endif /* WIRELESS_EXT > 12 */
}
#endif /* defined(CONFIG_WIRELESS_EXT) */
dhd->pub.rxsz = net->mtu + net->hard_header_len + dhd->pub.hdrlen;
memcpy(net->dev_addr, temp_addr, ETH_ALEN);
......@@ -2623,21 +2607,6 @@ void dhd_os_sdtxunlock(dhd_pub_t *pub)
dhd_os_sdunlock(pub);
}
#if defined(CONFIG_WIRELESS_EXT)
struct iw_statistics *dhd_get_wireless_stats(struct net_device *dev)
{
int res = 0;
dhd_info_t *dhd = *(dhd_info_t **) netdev_priv(dev);
res = wl_iw_get_wireless_stats(dev, &dhd->iw.wstats);
if (res == 0)
return &dhd->iw.wstats;
else
return NULL;
}
#endif /* defined(CONFIG_WIRELESS_EXT) */
static int
dhd_wl_host_event(dhd_info_t *dhd, int *ifidx, void *pktdata,
wl_event_msg_t *event, void **data)
......
......@@ -69,8 +69,6 @@ uint wl_msg_level = WL_ERROR_VAL;
#define MAX_WLIW_IOCTL_LEN 1024
#ifdef CONFIG_WIRELESS_EXT
extern struct iw_statistics *dhd_get_wireless_stats(struct net_device *dev);
extern int dhd_wait_pend8021x(struct net_device *dev);
#endif
......@@ -3132,7 +3130,7 @@ const struct iw_handler_def wl_iw_handler_def = {
.private_args = 0,
#if WIRELESS_EXT >= 19
.get_wireless_stats = dhd_get_wireless_stats,
.get_wireless_stats = NULL,
#endif
};
#endif /* WIRELESS_EXT > 12 */
......@@ -3549,103 +3547,6 @@ void wl_iw_event(struct net_device *dev, wl_event_msg_t *e, void *data)
#endif /* WIRELESS_EXT > 13 */
}
int
wl_iw_get_wireless_stats(struct net_device *dev, struct iw_statistics *wstats)
{
int res = 0;
struct wl_cnt cnt;
int phy_noise;
int rssi;
scb_val_t scb_val;
phy_noise = 0;
res = dev_wlc_ioctl(dev, WLC_GET_PHY_NOISE, &phy_noise,
sizeof(phy_noise));
if (res)
goto done;
phy_noise = le32_to_cpu(phy_noise);
WL_TRACE("wl_iw_get_wireless_stats phy noise=%d\n", phy_noise);
memset(&scb_val, 0, sizeof(scb_val_t));
res = dev_wlc_ioctl(dev, WLC_GET_RSSI, &scb_val, sizeof(scb_val_t));
if (res)
goto done;
rssi = le32_to_cpu(scb_val.val);
WL_TRACE("wl_iw_get_wireless_stats rssi=%d\n", rssi);
if (rssi <= WL_IW_RSSI_NO_SIGNAL)
wstats->qual.qual = 0;
else if (rssi <= WL_IW_RSSI_VERY_LOW)
wstats->qual.qual = 1;
else if (rssi <= WL_IW_RSSI_LOW)
wstats->qual.qual = 2;
else if (rssi <= WL_IW_RSSI_GOOD)
wstats->qual.qual = 3;
else if (rssi <= WL_IW_RSSI_VERY_GOOD)
wstats->qual.qual = 4;
else
wstats->qual.qual = 5;
wstats->qual.level = 0x100 + rssi;
wstats->qual.noise = 0x100 + phy_noise;
#if WIRELESS_EXT > 18
wstats->qual.updated |= (IW_QUAL_ALL_UPDATED | IW_QUAL_DBM);
#else
wstats->qual.updated |= 7;
#endif
#if WIRELESS_EXT > 11
WL_TRACE("wl_iw_get_wireless_stats counters=%zu\n",
sizeof(struct wl_cnt));
memset(&cnt, 0, sizeof(struct wl_cnt));
res =
dev_wlc_bufvar_get(dev, "counters", (char *)&cnt,
sizeof(struct wl_cnt));
if (res) {
WL_ERROR("wl_iw_get_wireless_stats counters failed error=%d\n",
res);
goto done;
}
cnt.version = le16_to_cpu(cnt.version);
if (cnt.version != WL_CNT_T_VERSION) {
WL_TRACE("\tIncorrect counter version: expected %d; got %d\n",
WL_CNT_T_VERSION, cnt.version);
goto done;
}
wstats->discard.nwid = 0;
wstats->discard.code = le32_to_cpu(cnt.rxundec);
wstats->discard.fragment = le32_to_cpu(cnt.rxfragerr);
wstats->discard.retries = le32_to_cpu(cnt.txfail);
wstats->discard.misc = le32_to_cpu(cnt.rxrunt) +
le32_to_cpu(cnt.rxgiant);
wstats->miss.beacon = 0;
WL_TRACE("wl_iw_get_wireless_stats counters txframe=%d txbyte=%d\n",
le32_to_cpu(cnt.txframe), le32_to_cpu(cnt.txbyte));
WL_TRACE("wl_iw_get_wireless_stats counters rxfrmtoolong=%d\n",
le32_to_cpu(cnt.rxfrmtoolong));
WL_TRACE("wl_iw_get_wireless_stats counters rxbadplcp=%d\n",
le32_to_cpu(cnt.rxbadplcp));
WL_TRACE("wl_iw_get_wireless_stats counters rxundec=%d\n",
le32_to_cpu(cnt.rxundec));
WL_TRACE("wl_iw_get_wireless_stats counters rxfragerr=%d\n",
le32_to_cpu(cnt.rxfragerr));
WL_TRACE("wl_iw_get_wireless_stats counters txfail=%d\n",
le32_to_cpu(cnt.txfail));
WL_TRACE("wl_iw_get_wireless_stats counters rxrunt=%d\n",
le32_to_cpu(cnt.rxrunt));
WL_TRACE("wl_iw_get_wireless_stats counters rxgiant=%d\n",
le32_to_cpu(cnt.rxgiant));
#endif /* WIRELESS_EXT > 11 */
done:
return res;
}
int wl_iw_attach(struct net_device *dev, void *dhdp)
{
int params_size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment