From: Gabor Juhos Date: Tue, 20 Nov 2012 20:40:04 +0000 (+0000) Subject: generic: ar8216: fix port number check in 'ar8xxx_mib_work_func' X-Git-Tag: reboot~12231 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2a792f32b54e274ea6b536033c3f5bdc8a75cc33;p=openwrt%2Fstaging%2Fxback.git 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 SVN-Revision: 34283 --- 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);