Message ID | 20220301151808.2855-1-wudaemon@163.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v3] net: ksz884x: use time_before in netdev_open for compatibility and remove static variable | expand |
On Tue, 1 Mar 2022 15:18:08 +0000 wudaemon wrote: > use time_before instead of direct compare for compatibility and remove the static next_jiffies variable > > Signed-off-by: wudaemon <wudaemon@163.com> Oops, thought I replied to this one but apparently I haven't. Sorry for the delay. > diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c > index d024983815da..ce4f5c99c1ac 100644 > --- a/drivers/net/ethernet/micrel/ksz884x.c > +++ b/drivers/net/ethernet/micrel/ksz884x.c > @@ -5225,7 +5225,6 @@ static irqreturn_t netdev_intr(int irq, void *dev_id) > * Linux network device functions > */ > > -static unsigned long next_jiffies; > > #ifdef CONFIG_NET_POLL_CONTROLLER > static void netdev_netpoll(struct net_device *dev) > @@ -5411,10 +5410,12 @@ static int netdev_open(struct net_device *dev) > struct dev_info *hw_priv = priv->adapter; > struct ksz_hw *hw = &hw_priv->hw; > struct ksz_port *port = &priv->port; > + unsigned long next_jiffies; > int i; > int p; > int rc = 0; > > + next_jiffies = jiffies; This should probably be: next_jiffies = jiffies + HZ * 2; and then... > priv->multicast = 0; > priv->promiscuous = 0; > > @@ -5428,7 +5429,7 @@ static int netdev_open(struct net_device *dev) > if (rc) > return rc; > for (i = 0; i < hw->mib_port_cnt; i++) { > - if (next_jiffies < jiffies) > + if (time_before(next_jiffies, jiffies)) I don't think this check is needed at all any more. Since we initialize next_jiffies to jiffies earlier in the function it's got to be in the right ballpark. > next_jiffies = jiffies + HZ * 2; > else > next_jiffies += HZ * 1; Remove the if and just leave this line to move the time forward. Thanks!
diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c index d024983815da..ce4f5c99c1ac 100644 --- a/drivers/net/ethernet/micrel/ksz884x.c +++ b/drivers/net/ethernet/micrel/ksz884x.c @@ -5225,7 +5225,6 @@ static irqreturn_t netdev_intr(int irq, void *dev_id) * Linux network device functions */ -static unsigned long next_jiffies; #ifdef CONFIG_NET_POLL_CONTROLLER static void netdev_netpoll(struct net_device *dev) @@ -5411,10 +5410,12 @@ static int netdev_open(struct net_device *dev) struct dev_info *hw_priv = priv->adapter; struct ksz_hw *hw = &hw_priv->hw; struct ksz_port *port = &priv->port; + unsigned long next_jiffies; int i; int p; int rc = 0; + next_jiffies = jiffies; priv->multicast = 0; priv->promiscuous = 0; @@ -5428,7 +5429,7 @@ static int netdev_open(struct net_device *dev) if (rc) return rc; for (i = 0; i < hw->mib_port_cnt; i++) { - if (next_jiffies < jiffies) + if (time_before(next_jiffies, jiffies)) next_jiffies = jiffies + HZ * 2; else next_jiffies += HZ * 1; @@ -6563,6 +6564,7 @@ static void mib_read_work(struct work_struct *work) struct dev_info *hw_priv = container_of(work, struct dev_info, mib_read); struct ksz_hw *hw = &hw_priv->hw; + unsigned long next_jiffies; struct ksz_port_mib *mib; int i;
use time_before instead of direct compare for compatibility and remove the static next_jiffies variable Signed-off-by: wudaemon <wudaemon@163.com> --- drivers/net/ethernet/micrel/ksz884x.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)