]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/mellanox: mlxreg-lc: Make error handling flow consistent
authorVadim Pasternak <vadimp@nvidia.com>
Sun, 4 Sep 2022 14:11:13 +0000 (17:11 +0300)
committerHans de Goede <hdegoede@redhat.com>
Fri, 9 Sep 2022 19:58:16 +0000 (21:58 +0200)
Use 'goto' statement in error flow of mlxreg_lc_event_handler() at all
places for consistency.

This follow-up patch implementing comments from
https://www.spinics.net/lists/platform-driver-x86/msg34587.html

Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Link: https://lore.kernel.org/r/20220904141113.49048-1-vadimp@nvidia.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/mellanox/mlxreg-lc.c

index 1e071df4c9f5bcd90539ee804f36fd9f2a93a070..8d833836a6d322c2a6331097cb27bb6349bc37cf 100644 (file)
@@ -564,10 +564,8 @@ static int mlxreg_lc_event_handler(void *handle, enum mlxreg_hotplug_kind kind,
                 mlxreg_lc->data->slot, mlxreg_lc->state, kind, action);
 
        mutex_lock(&mlxreg_lc->lock);
-       if (!(mlxreg_lc->state & MLXREG_LC_INITIALIZED)) {
-               mutex_unlock(&mlxreg_lc->lock);
-               return 0;
-       }
+       if (!(mlxreg_lc->state & MLXREG_LC_INITIALIZED))
+               goto mlxreg_lc_non_initialzed_exit;
 
        switch (kind) {
        case MLXREG_HOTPLUG_LC_SYNCED:
@@ -594,8 +592,8 @@ static int mlxreg_lc_event_handler(void *handle, enum mlxreg_hotplug_kind kind,
                                /* In case line card is configured - enable it. */
                                if (mlxreg_lc->state & MLXREG_LC_CONFIGURED)
                                        err = mlxreg_lc_enable_disable(mlxreg_lc, 1);
-                               mutex_unlock(&mlxreg_lc->lock);
-                               return err;
+
+                               goto mlxreg_lc_enable_disable_exit;
                        }
                        err = mlxreg_lc_create_static_devices(mlxreg_lc, mlxreg_lc->main_devs,
                                                              mlxreg_lc->main_devs_num);
@@ -627,8 +625,10 @@ static int mlxreg_lc_event_handler(void *handle, enum mlxreg_hotplug_kind kind,
                break;
        }
 
+mlxreg_lc_enable_disable_exit:
 mlxreg_lc_power_on_off_fail:
 mlxreg_lc_create_static_devices_fail:
+mlxreg_lc_non_initialzed_exit:
        mutex_unlock(&mlxreg_lc->lock);
 
        return err;