net: ksz884x: optimize netdev_open flow and remove static variable
authorwujunwen <wudaemon@163.com>
Tue, 15 Mar 2022 12:28:57 +0000 (12:28 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 17 Mar 2022 02:18:41 +0000 (19:18 -0700)
remove the static next_jiffies variable, and reinitialize next_jiffies
to simplify netdev_open

Signed-off-by: wujunwen <wudaemon@163.com>
Link: https://lore.kernel.org/r/20220315122857.78601-1-wudaemon@163.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/micrel/ksz884x.c

index d024983..2b3eb5e 100644 (file)
@@ -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 + HZ * 2;
        priv->multicast = 0;
        priv->promiscuous = 0;
 
@@ -5428,10 +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)
-                               next_jiffies = jiffies + HZ * 2;
-                       else
-                               next_jiffies += HZ * 1;
+                       next_jiffies += HZ * 1;
                        hw_priv->counter[i].time = next_jiffies;
                        hw->port_mib[i].state = media_disconnected;
                        port_init_cnt(hw, i);
@@ -6563,6 +6561,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;