vlib: deuglify the offset finding loop in pci.c
[vpp.git] / src / vlib / pci / pci.c
index 1845a62..cd580f0 100644 (file)
@@ -176,11 +176,7 @@ vlib_pci_function_level_reset (vlib_main_t *vm, vlib_pci_dev_handle_t h)
     return err;
 
   offset = cfg.cap_ptr;
-  /* Make gcc happy, otherwise gcc fails build due to cap not set if offset ==
-   * 0 */
-  cap = (pci_capability_pcie_t *) (cfg.data + offset);
-
-  while (offset)
+  do
     {
       cap = (pci_capability_pcie_t *) (cfg.data + offset);
 
@@ -189,6 +185,7 @@ vlib_pci_function_level_reset (vlib_main_t *vm, vlib_pci_dev_handle_t h)
 
       offset = cap->next_offset;
     }
+  while (offset);
 
   if (cap->capability_id != PCI_CAP_ID_PCIE)
     return clib_error_return (0, "PCIe capability config not found");