staging: vchiq_core: reduce indention in release_service_messages
authorStefan Wahren <stefan.wahren@i2se.com>
Sat, 15 May 2021 19:10:53 +0000 (21:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 May 2021 15:56:32 +0000 (17:56 +0200)
It's possible to convert the if statement into a continue early and
save an indention level.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1621105859-30215-15-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c

index b3e81ac..2ac3545 100644 (file)
@@ -2578,42 +2578,43 @@ release_service_messages(struct vchiq_service *service)
        for (i = state->remote->slot_first; i <= slot_last; i++) {
                struct vchiq_slot_info *slot_info =
                        SLOT_INFO_FROM_INDEX(state, i);
-               if (slot_info->release_count != slot_info->use_count) {
-                       char *data =
-                               (char *)SLOT_DATA_FROM_INDEX(state, i);
-                       unsigned int pos, end;
+               unsigned int pos, end;
+               char *data;
 
-                       end = VCHIQ_SLOT_SIZE;
-                       if (data == state->rx_data)
-                               /*
-                                * This buffer is still being read from - stop
-                                * at the current read position
-                                */
-                               end = state->rx_pos & VCHIQ_SLOT_MASK;
-
-                       pos = 0;
-
-                       while (pos < end) {
-                               struct vchiq_header *header =
-                                       (struct vchiq_header *)(data + pos);
-                               int msgid = header->msgid;
-                               int port = VCHIQ_MSG_DSTPORT(msgid);
-
-                               if ((port == service->localport) &&
-                                       (msgid & VCHIQ_MSGID_CLAIMED)) {
-                                       vchiq_log_info(vchiq_core_log_level,
-                                               "  fsi - hdr %pK", header);
-                                       release_slot(state, slot_info, header,
-                                               NULL);
-                               }
-                               pos += calc_stride(header->size);
-                               if (pos > VCHIQ_SLOT_SIZE) {
-                                       vchiq_log_error(vchiq_core_log_level,
-                                               "fsi - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x",
-                                               pos, header, msgid,
-                                               header->msgid, header->size);
-                                       WARN(1, "invalid slot position\n");
-                               }
+               if (slot_info->release_count == slot_info->use_count)
+                       continue;
+
+               data = (char *)SLOT_DATA_FROM_INDEX(state, i);
+               end = VCHIQ_SLOT_SIZE;
+               if (data == state->rx_data)
+                       /*
+                        * This buffer is still being read from - stop
+                        * at the current read position
+                        */
+                       end = state->rx_pos & VCHIQ_SLOT_MASK;
+
+               pos = 0;
+
+               while (pos < end) {
+                       struct vchiq_header *header =
+                               (struct vchiq_header *)(data + pos);
+                       int msgid = header->msgid;
+                       int port = VCHIQ_MSG_DSTPORT(msgid);
+
+                       if ((port == service->localport) &&
+                               (msgid & VCHIQ_MSGID_CLAIMED)) {
+                               vchiq_log_info(vchiq_core_log_level,
+                                       "  fsi - hdr %pK", header);
+                               release_slot(state, slot_info, header,
+                                       NULL);
+                       }
+                       pos += calc_stride(header->size);
+                       if (pos > VCHIQ_SLOT_SIZE) {
+                               vchiq_log_error(vchiq_core_log_level,
+                                       "fsi - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x",
+                                       pos, header, msgid,
+                                       header->msgid, header->size);
+                               WARN(1, "invalid slot position\n");
                        }
                }
        }