summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vlib/linux/pci.c3
-rw-r--r--src/vlib/pci/pci_config.h4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/vlib/linux/pci.c b/src/vlib/linux/pci.c
index 9661827ea0d..1a70c568176 100644
--- a/src/vlib/linux/pci.c
+++ b/src/vlib/linux/pci.c
@@ -238,7 +238,8 @@ vlib_pci_get_device_info (vlib_main_t * vm, vlib_pci_addr_t * addr,
/* You can only read more that 64 bytes of config space as root; so we try to
read the full space but fall back to just the first 64 bytes. */
- if (read (fd, &di->config, sizeof (di->config)) < sizeof (di->config))
+ if (read (fd, &di->config, sizeof (di->config)) <
+ sizeof (vlib_pci_config_hdr_t))
{
err = clib_error_return_unix (0, "read `%s'", f);
close (fd);
diff --git a/src/vlib/pci/pci_config.h b/src/vlib/pci/pci_config.h
index 3501bde4214..21b40c0f499 100644
--- a/src/vlib/pci/pci_config.h
+++ b/src/vlib/pci/pci_config.h
@@ -247,9 +247,9 @@ typedef struct
#define _(a, b, ...) a b __VA_ARGS__;
foreach_pci_config_reg
#undef _
-} vlib_pci_config_mandatory_t;
+} vlib_pci_config_hdr_t;
-STATIC_ASSERT_SIZEOF (vlib_pci_config_mandatory_t, 64);
+STATIC_ASSERT_SIZEOF (vlib_pci_config_hdr_t, 64);
typedef union
{