First tag being read as 0xff indicates a missing VPD EPROM, same as 0x00. The latter case we handle properly already, so let's handle 0x00 here too. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> --- drivers/pci/vpd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/vpd.c b/drivers/pci/vpd.c index 26bf7c877..6a32d938d 100644 --- a/drivers/pci/vpd.c +++ b/drivers/pci/vpd.c @@ -78,8 +78,8 @@ static size_t pci_vpd_size(struct pci_dev *dev, size_t old_size) while (off < old_size && pci_read_vpd(dev, off, 1, header) == 1) { unsigned char tag; - if (!header[0] && !off) { - pci_info(dev, "Invalid VPD tag 00, assume missing optional VPD EPROM\n"); + if ((!header[0] || header[0] == 0xff) && !off) { + pci_info(dev, "Invalid VPD tag 00/FF, assume missing optional VPD EPROM\n"); return 0; } -- 2.32.0