scsi: core: Replace while-loop by for-loop in scsi_vpd_lun_id()
authorMartin Wilck <mwilck@suse.com>
Thu, 29 Oct 2020 17:08:46 +0000 (18:08 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 17 Nov 2020 03:29:49 +0000 (22:29 -0500)
This makes the code slightly more readable.

Link: https://lore.kernel.org/r/20201029170846.14786-2-mwilck@suse.com
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_lib.c

index 5f963df..b7ac145 100644 (file)
@@ -3065,12 +3065,13 @@ int scsi_vpd_lun_id(struct scsi_device *sdev, char *id, size_t id_len)
        }
 
        memset(id, 0, id_len);
-       d = vpd_pg83->data + 4;
-       while (d < vpd_pg83->data + vpd_pg83->len) {
+       for (d = vpd_pg83->data + 4;
+            d < vpd_pg83->data + vpd_pg83->len;
+            d += d[3] + 4) {
                u8 prio = designator_prio(d);
 
                if (prio == 0 || cur_id_prio > prio)
-                       goto next_desig;
+                       continue;
 
                switch (d[1] & 0xf) {
                case 0x1:
@@ -3150,8 +3151,6 @@ int scsi_vpd_lun_id(struct scsi_device *sdev, char *id, size_t id_len)
                default:
                        break;
                }
-next_desig:
-               d += d[3] + 4;
        }
        rcu_read_unlock();