]> git.baikalelectronics.ru Git - kernel.git/commitdiff
firmware: arm_sdei: Remove while loop in sdei_event_unregister()
authorGavin Shan <gshan@redhat.com>
Tue, 22 Sep 2020 13:04:19 +0000 (23:04 +1000)
committerWill Deacon <will@kernel.org>
Mon, 28 Sep 2020 20:52:22 +0000 (21:52 +0100)
This removes the unnecessary while loop in sdei_event_unregister()
because of the following two reasons. This shouldn't cause any
functional changes.

   * The while loop is executed for once, meaning it's not needed
     in theory.
   * With the while loop removed, the nested statements can be
     avoid to make the code a bit cleaner.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20200922130423.10173-10-gshan@redhat.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/firmware/arm_sdei.c

index 6595bd66aa739b99f6e9f369c8a33e3d874e4b5a..790bff70d16959a132366d83284f1e91700e352a 100644 (file)
@@ -491,24 +491,23 @@ int sdei_event_unregister(u32 event_num)
 
        mutex_lock(&sdei_events_lock);
        event = sdei_event_find(event_num);
-       do {
-               if (!event) {
-                       pr_warn("Event %u not registered\n", event_num);
-                       err = -ENOENT;
-                       break;
-               }
+       if (!event) {
+               pr_warn("Event %u not registered\n", event_num);
+               err = -ENOENT;
+               goto unlock;
+       }
 
-               spin_lock(&sdei_list_lock);
-               event->reregister = false;
-               event->reenable = false;
-               spin_unlock(&sdei_list_lock);
+       spin_lock(&sdei_list_lock);
+       event->reregister = false;
+       event->reenable = false;
+       spin_unlock(&sdei_list_lock);
 
-               err = _sdei_event_unregister(event);
-               if (err)
-                       break;
+       err = _sdei_event_unregister(event);
+       if (err)
+               goto unlock;
 
-               sdei_event_destroy(event);
-       } while (0);
+       sdei_event_destroy(event);
+unlock:
        mutex_unlock(&sdei_events_lock);
 
        return err;