Re: [RFC PATCH 00/17] Drop uses of pci_read_config_*() return value
From: Borislav Petkov
Date: Sat Aug 01 2020 - 08:56:55 EST
On Sat, Aug 01, 2020 at 01:24:29PM +0200, Saheed O. Bolarinwa wrote:
> The return value of pci_read_config_*() may not indicate a device error.
> However, the value read by these functions is more likely to indicate
> this kind of error. This presents two overlapping ways of reporting
> errors and complicates error checking.
So why isn't the *value check done in the pci_read_config_* functions
instead of touching gazillion callers?
For example, pci_conf{1,2}_read() could check whether the u32 *value it
just read depending on the access method, whether that value is ~0 and
return proper PCIBIOS_ error in that case.
The check you're replicating
if (val32 == (u32)~0)
everywhere, instead, is just ugly and tests a naked value ~0 which
doesn't mean anything...
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette