aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDaniel Drake <dsd@gentoo.org>2006-11-21 22:15:46 -0500
committerJeff Garzik <jeff@garzik.org>2006-12-02 00:12:05 -0500
commit718cc4ca2bfb3263c7ea3ceba9c194f9cd7292e2 (patch)
treef737e1634f6b88867bd0ac70e8512e23a548644b /drivers
parentb1382edef9c06eca337e8982e6040e0699abab82 (diff)
[PATCH] ieee80211: Provide generic get_stats implementation
bcm43xx and ipw2100 currently duplicate the same simplistic get_stats handler. Additionally, zd1211rw requires the same handler to fix a bug where all stats are reported as 0. This patch adds a generic implementation to the ieee80211 layer, which drivers are free to override. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_main.c6
-rw-r--r--drivers/net/wireless/ipw2100.c14
2 files changed, 0 insertions, 20 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 60a97450a6ed..5b3c27359a18 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -4013,11 +4013,6 @@ static int bcm43xx_ieee80211_hard_start_xmit(struct ieee80211_txb *txb,
4013 return NETDEV_TX_OK; 4013 return NETDEV_TX_OK;
4014} 4014}
4015 4015
4016static struct net_device_stats * bcm43xx_net_get_stats(struct net_device *net_dev)
4017{
4018 return &(bcm43xx_priv(net_dev)->ieee->stats);
4019}
4020
4021static void bcm43xx_net_tx_timeout(struct net_device *net_dev) 4016static void bcm43xx_net_tx_timeout(struct net_device *net_dev)
4022{ 4017{
4023 struct bcm43xx_private *bcm = bcm43xx_priv(net_dev); 4018 struct bcm43xx_private *bcm = bcm43xx_priv(net_dev);
@@ -4131,7 +4126,6 @@ static int __devinit bcm43xx_init_one(struct pci_dev *pdev,
4131 4126
4132 net_dev->open = bcm43xx_net_open; 4127 net_dev->open = bcm43xx_net_open;
4133 net_dev->stop = bcm43xx_net_stop; 4128 net_dev->stop = bcm43xx_net_stop;
4134 net_dev->get_stats = bcm43xx_net_get_stats;
4135 net_dev->tx_timeout = bcm43xx_net_tx_timeout; 4129 net_dev->tx_timeout = bcm43xx_net_tx_timeout;
4136#ifdef CONFIG_NET_POLL_CONTROLLER 4130#ifdef CONFIG_NET_POLL_CONTROLLER
4137 net_dev->poll_controller = bcm43xx_net_poll_controller; 4131 net_dev->poll_controller = bcm43xx_net_poll_controller;
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
index 3bc6be9d20f8..79607b8b877c 100644
--- a/drivers/net/wireless/ipw2100.c
+++ b/drivers/net/wireless/ipw2100.c
@@ -5827,19 +5827,6 @@ static void ipw2100_tx_timeout(struct net_device *dev)
5827 schedule_reset(priv); 5827 schedule_reset(priv);
5828} 5828}
5829 5829
5830/*
5831 * TODO: reimplement it so that it reads statistics
5832 * from the adapter using ordinal tables
5833 * instead of/in addition to collecting them
5834 * in the driver
5835 */
5836static struct net_device_stats *ipw2100_stats(struct net_device *dev)
5837{
5838 struct ipw2100_priv *priv = ieee80211_priv(dev);
5839
5840 return &priv->ieee->stats;
5841}
5842
5843static int ipw2100_wpa_enable(struct ipw2100_priv *priv, int value) 5830static int ipw2100_wpa_enable(struct ipw2100_priv *priv, int value)
5844{ 5831{
5845 /* This is called when wpa_supplicant loads and closes the driver 5832 /* This is called when wpa_supplicant loads and closes the driver
@@ -6022,7 +6009,6 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
6022 dev->open = ipw2100_open; 6009 dev->open = ipw2100_open;
6023 dev->stop = ipw2100_close; 6010 dev->stop = ipw2100_close;
6024 dev->init = ipw2100_net_init; 6011 dev->init = ipw2100_net_init;
6025 dev->get_stats = ipw2100_stats;
6026 dev->ethtool_ops = &ipw2100_ethtool_ops; 6012 dev->ethtool_ops = &ipw2100_ethtool_ops;
6027 dev->tx_timeout = ipw2100_tx_timeout; 6013 dev->tx_timeout = ipw2100_tx_timeout;
6028 dev->wireless_handlers = &ipw2100_wx_handler_def; 6014 dev->wireless_handlers = &ipw2100_wx_handler_def;