From 2a792f32b54e274ea6b536033c3f5bdc8a75cc33 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Tue, 20 Nov 2012 20:40:04 +0000
Subject: [PATCH] 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>

SVN-Revision: 34283
---
 target/linux/generic/files/drivers/net/phy/ar8216.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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);
-- 
GitLab