Hardware error on Librem Mini-v2 (r8169)

I am getting this error (doing lspci -vvvv) on a fresh PureOS install using Librem Mini-v2.
It even persists after updates and even upgrading/changing kernels.

What doesit mean, how do I fix it?

pcilib: sysfs_read_vpd: read failed: Input/output error
		Not readable
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [140 v1] Virtual Channel
		Caps:	LPEVC=0 RefClk=100ns PATEntryBits=1
		Arb:	Fixed- WRR32- WRR64- WRR128-
		Ctrl:	ArbSelect=Fixed
		Status:	InProgress-
		VC0:	Caps:	PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
			Arb:	Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
			Ctrl:	Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
			Status:	NegoPending- InProgress-
	Capabilities: [160 v1] Device Serial Number 01-00-00-00-68-4c-e0-00
	Kernel driver in use: r8169
	Kernel modules: r8169

Does it need to be fixed? I mean what actual problem are you experiencing?

It is unfortunately the case that a typical Linux boot / running system does produce error messages that are not indicative of an actual problem - and that can be confusing for new users and concerning for many users.

A search engine says that you are not the only one in the Linux world (i.e. well beyond PureOS) who gets that error message.

By using lspci -s ... you may be able to narrow it down to which device is causing this. I would guess that it’s the GbE controller.

The internet says that this is not an error. It’s just reporting that the particular device does not support VPD (Vital Product Data).

Reading between the lines, it seems that the vpd file in sysfs is sometimes created even when the device does not support VPD, and presumably lspci (with enough -v) always tries to read the vpd file if it exists, but reading the file will fail if the device does not support VPD.