staging: vchiq_core: avoid indention in poll_services_of_group

By converting the first and the third if statement into continue early
the function poll_services_of_group() can avoid 2 indention levels.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1621105859-30215-8-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Stefan Wahren
2021-05-15 21:10:46 +02:00
committed by Greg Kroah-Hartman
parent 20ebcf0bf1
commit 2f440843a7

View File

@@ -1325,21 +1325,23 @@ poll_services_of_group(struct vchiq_state *state, int group)
int i; int i;
for (i = 0; flags; i++) { for (i = 0; flags; i++) {
if (flags & BIT(i)) { struct vchiq_service *service;
struct vchiq_service *service =
find_service_by_port(state,
(group<<5) + i);
u32 service_flags; u32 service_flags;
if ((flags & BIT(i)) == 0)
continue;
service = find_service_by_port(state, (group << 5) + i);
flags &= ~BIT(i); flags &= ~BIT(i);
if (!service) if (!service)
continue; continue;
service_flags =
atomic_xchg(&service->poll_flags, 0); service_flags = atomic_xchg(&service->poll_flags, 0);
if (service_flags & if ((service_flags & BIT(VCHIQ_POLL_REMOVE)) == 0)
BIT(VCHIQ_POLL_REMOVE)) { continue;
vchiq_log_info(vchiq_core_log_level,
"%d: ps - remove %d<->%d", vchiq_log_info(vchiq_core_log_level, "%d: ps - remove %d<->%d",
state->id, service->localport, state->id, service->localport,
service->remoteport); service->remoteport);
@@ -1348,16 +1350,12 @@ poll_services_of_group(struct vchiq_state *state, int group)
* it must be removed and not left in * it must be removed and not left in
* the LISTENING state. * the LISTENING state.
*/ */
service->public_fourcc = service->public_fourcc = VCHIQ_FOURCC_INVALID;
VCHIQ_FOURCC_INVALID;
if (vchiq_close_service_internal( if (vchiq_close_service_internal(service, 0/*!close_recvd*/) !=
service, 0/*!close_recvd*/) != VCHIQ_SUCCESS) {
VCHIQ_SUCCESS) request_poll(state, service, VCHIQ_POLL_REMOVE);
request_poll(state, service, } else if (service_flags & BIT(VCHIQ_POLL_TERMINATE)) {
VCHIQ_POLL_REMOVE);
} else if (service_flags &
BIT(VCHIQ_POLL_TERMINATE)) {
vchiq_log_info(vchiq_core_log_level, vchiq_log_info(vchiq_core_log_level,
"%d: ps - terminate %d<->%d", "%d: ps - terminate %d<->%d",
state->id, service->localport, state->id, service->localport,
@@ -1369,16 +1367,13 @@ poll_services_of_group(struct vchiq_state *state, int group)
VCHIQ_POLL_TERMINATE); VCHIQ_POLL_TERMINATE);
} }
if (service_flags & BIT(VCHIQ_POLL_TXNOTIFY)) if (service_flags & BIT(VCHIQ_POLL_TXNOTIFY))
notify_bulks(service, notify_bulks(service, &service->bulk_tx,
&service->bulk_tx,
1/*retry_poll*/); 1/*retry_poll*/);
if (service_flags & BIT(VCHIQ_POLL_RXNOTIFY)) if (service_flags & BIT(VCHIQ_POLL_RXNOTIFY))
notify_bulks(service, notify_bulks(service, &service->bulk_rx,
&service->bulk_rx,
1/*retry_poll*/); 1/*retry_poll*/);
unlock_service(service); unlock_service(service);
} }
}
} }
/* Called by the slot handler thread */ /* Called by the slot handler thread */