aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2012-11-20 20:40:04 +0000
committerGabor Juhos <juhosg@openwrt.org>2012-11-20 20:40:04 +0000
commit7ce8530f4f01af05c3c31a6ccd38965b5ba4ae64 (patch)
treedd02f57ddccd6c3accc4c5df82f59507fb053309
parent6446586528a01a4a86de3c7eb364809e830a49ca (diff)
downloadupstream-7ce8530f4f01af05c3c31a6ccd38965b5ba4ae64.tar.gz
upstream-7ce8530f4f01af05c3c31a6ccd38965b5ba4ae64.tar.bz2
upstream-7ce8530f4f01af05c3c31a6ccd38965b5ba4ae64.zip
generic: ar8216: fix port number check in 'ar8xxx_mib_work_func'
Also add a WARN_ON to 'ar8216_mib_fetch_port_stat' Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34283 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/generic/files/drivers/net/phy/ar8216.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index 8fc1f4b37e..6187d523ab 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -425,6 +425,8 @@ ar8216_mib_fetch_port_stat(struct ar8216_priv *priv, int port, bool flush)
u64 *mib_stats;
int i;
+ WARN_ON(port >= priv->dev.ports);
+
lockdep_assert_held(&priv->mib_lock);
if (chip_is_ar8327(priv))
@@ -1710,7 +1712,7 @@ ar8xxx_mib_work_func(struct work_struct *work)
next_port:
priv->mib_next_port++;
- if (priv->mib_next_port > priv->dev.ports)
+ if (priv->mib_next_port >= priv->dev.ports)
priv->mib_next_port = 0;
mutex_unlock(&priv->mib_lock);