diff options
-rw-r--r-- | src/vlib/pci/pci.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/vlib/pci/pci.c b/src/vlib/pci/pci.c index 1845a6211f5..cd580f04176 100644 --- a/src/vlib/pci/pci.c +++ b/src/vlib/pci/pci.c @@ -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"); |