iavf: simplify mutex_trylock+sleep loops
authorMichal Schmidt <mschmidt@redhat.com>
Fri, 27 Oct 2023 17:59:35 +0000 (10:59 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 27 Oct 2023 22:35:49 +0000 (15:35 -0700)
This pattern appears in two places in the iavf source code:
  while (!mutex_trylock(...))
      usleep_range(...);

That's just mutex_lock with extra steps.
The pattern is a leftover from when iavf used bit flags instead of
mutexes for locking. Commit 5ac49f3c2702 ("iavf: use mutexes for locking
of critical sections") replaced test_and_set_bit with !mutex_trylock,
preserving the pattern.

Simplify it to mutex_lock.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20231027175941.1340255-3-jacob.e.keller@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/iavf/iavf_main.c

index fefed96f8035d64915e7c034579f5c2cab7e5903..502ebba2e879091b6b8190776e1a121db56f46ee 100644 (file)
@@ -3011,8 +3011,7 @@ static void iavf_reset_task(struct work_struct *work)
                return;
        }
 
-       while (!mutex_trylock(&adapter->client_lock))
-               usleep_range(500, 1000);
+       mutex_lock(&adapter->client_lock);
        if (CLIENT_ENABLED(adapter)) {
                adapter->flags &= ~(IAVF_FLAG_CLIENT_NEEDS_OPEN |
                                    IAVF_FLAG_CLIENT_NEEDS_CLOSE |
@@ -5065,8 +5064,7 @@ static int __maybe_unused iavf_suspend(struct device *dev_d)
 
        netif_device_detach(netdev);
 
-       while (!mutex_trylock(&adapter->crit_lock))
-               usleep_range(500, 1000);
+       mutex_lock(&adapter->crit_lock);
 
        if (netif_running(netdev)) {
                rtnl_lock();