summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUmang Jain <umang.jain@ideasonboard.com>2024-10-13 14:21:28 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-10-13 16:47:35 +0300
commit67283a5ca746415ad028ae2bff16ce1914c3ce2b (patch)
tree560bf00f3022c74db4efb2b4958ad581175054fa
parent8cea95f40fed5141f1950f9547839cbc436c9486 (diff)
downloadlinux-67283a5ca746415ad028ae2bff16ce1914c3ce2b.tar.xz
staging: vchiq_core: Lower indentation in vchiq_close_service_internal
Reduce indentation of the conditional nesting in vchiq_close_service_internal() switch case by checking the error paths first and break early. This helps to reduce conditional branching and reduce indentation levels. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> Link: https://lore.kernel.org/r/20241013112128.397249-7-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
index 36f08f078564..3d347b425f20 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
@@ -3163,19 +3163,21 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd)
if (close_recvd) {
dev_err(state->dev, "core: (1) called in state %s\n",
srvstate_names[service->srvstate]);
- } else if (is_server) {
- if (service->srvstate == VCHIQ_SRVSTATE_LISTENING) {
- status = -EINVAL;
- } else {
- service->client_id = 0;
- service->remoteport = VCHIQ_PORT_FREE;
- if (service->srvstate == VCHIQ_SRVSTATE_CLOSEWAIT)
- set_service_state(service, VCHIQ_SRVSTATE_LISTENING);
- }
- complete(&service->remove_event);
- } else {
+ break;
+ } else if (!is_server) {
vchiq_free_service_internal(service);
+ break;
+ }
+
+ if (service->srvstate == VCHIQ_SRVSTATE_LISTENING) {
+ status = -EINVAL;
+ } else {
+ service->client_id = 0;
+ service->remoteport = VCHIQ_PORT_FREE;
+ if (service->srvstate == VCHIQ_SRVSTATE_CLOSEWAIT)
+ set_service_state(service, VCHIQ_SRVSTATE_LISTENING);
}
+ complete(&service->remove_event);
break;
case VCHIQ_SRVSTATE_OPENING:
if (close_recvd) {