diff options
author | Vadim Pasternak <vadimp@nvidia.com> | 2022-09-04 17:11:13 +0300 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2022-09-09 21:58:16 +0200 |
commit | 072aba58c9a4fa5edbfa1db92f78951cbb65d9b9 (patch) | |
tree | 56957ced10d8135339e08b15d137a82d11d8cb4e /drivers/platform | |
parent | c5b94f5b7819348c59f9949b2b75c341a114cdd4 (diff) | |
download | linux-072aba58c9a4fa5edbfa1db92f78951cbb65d9b9.tar.gz linux-072aba58c9a4fa5edbfa1db92f78951cbb65d9b9.tar.bz2 linux-072aba58c9a4fa5edbfa1db92f78951cbb65d9b9.zip |
platform/mellanox: mlxreg-lc: Make error handling flow consistent
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>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/mellanox/mlxreg-lc.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/platform/mellanox/mlxreg-lc.c b/drivers/platform/mellanox/mlxreg-lc.c index 1e071df4c9f5..8d833836a6d3 100644 --- a/drivers/platform/mellanox/mlxreg-lc.c +++ b/drivers/platform/mellanox/mlxreg-lc.c @@ -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; |