diff options
author | Daniel Drake <dsd@gentoo.org> | 2006-11-21 22:15:46 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-02 00:12:05 -0500 |
commit | 718cc4ca2bfb3263c7ea3ceba9c194f9cd7292e2 (patch) | |
tree | f737e1634f6b88867bd0ac70e8512e23a548644b /drivers | |
parent | b1382edef9c06eca337e8982e6040e0699abab82 (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.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/ipw2100.c | 14 |
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 | ||
4016 | static struct net_device_stats * bcm43xx_net_get_stats(struct net_device *net_dev) | ||
4017 | { | ||
4018 | return &(bcm43xx_priv(net_dev)->ieee->stats); | ||
4019 | } | ||
4020 | |||
4021 | static void bcm43xx_net_tx_timeout(struct net_device *net_dev) | 4016 | static 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 | */ | ||
5836 | static 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 | |||
5843 | static int ipw2100_wpa_enable(struct ipw2100_priv *priv, int value) | 5830 | static 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; |