Hi,
On Mon, May 27, 2024, at 15:25, Ilpo Järvinen wrote:
> bcm4377_init_cfg() uses pci_{read,write}_config_dword() that return
> PCIBIOS_* codes. The return codes are returned into the calling
> bcm4377_probe() which directly returns the error which is of incorrect
> type (a probe should return normal errnos).
Good catch!
>
> Convert PCIBIOS_* returns code using pcibios_err_to_errno() into normal
> errno before returning it from bcm4377_init_cfg. This conversion is the
> easiest by adding a label next to return and doing the conversion there
> once rather than adding pcibios_err_to_errno() into every single return
> statement.
Given that bcm4377_init_cfg is only called at one place from bcm4377_probe
we could also just do something like
ret = bcm4377_init_cfg(bcm4377);
if (ret)
return pcibios_err_to_errno(ret);
there, but either way is fine with me.
Best,
Sven