Message ID | 20240527132236.13875-2-ilpo.jarvinen@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/2] EDAC/amd64: Convert PCIBIOS_* return codes to errnos | expand |
> From: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > [...] > Subject: [PATCH 2/2] EDAC/igen6: Convert PCIBIOS_* return codes to errnos > > errcmd_enable_error_reporting() uses pci_{read,write}_config_word() that > return PCIBIOS_* codes. The return code is then returned all the way into the > probe function igen6_probe() that returns it as is. The probe functions, > however, should return normal errnos. > > Convert PCIBIOS_* returns code using pcibios_err_to_errno() into normal > errno before returning it from errcmd_enable_error_reporting(). > > Fixes: 10590a9d4f23 ("EDAC/igen6: Add EDAC driver for Intel client SoCs using > IBECC") > Cc: stable@vger.kernel.org > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> > --- > drivers/edac/igen6_edac.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/edac/igen6_edac.c b/drivers/edac/igen6_edac.c index > cdd8480e7368..dbe9fe5f2ca6 100644 > --- a/drivers/edac/igen6_edac.c > +++ b/drivers/edac/igen6_edac.c > @@ -800,7 +800,7 @@ static int errcmd_enable_error_reporting(bool > enable) > > rc = pci_read_config_word(imc->pdev, ERRCMD_OFFSET, &errcmd); > if (rc) > - return rc; > + return pcibios_err_to_errno(rc); > > if (enable) > errcmd |= ERRCMD_CE | ERRSTS_UE; > @@ -809,7 +809,7 @@ static int errcmd_enable_error_reporting(bool > enable) > > rc = pci_write_config_word(imc->pdev, ERRCMD_OFFSET, errcmd); > if (rc) > - return rc; > + return pcibios_err_to_errno(rc); > > return 0; > } > -- > 2.39.2 Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> Thanks!
diff --git a/drivers/edac/igen6_edac.c b/drivers/edac/igen6_edac.c index cdd8480e7368..dbe9fe5f2ca6 100644 --- a/drivers/edac/igen6_edac.c +++ b/drivers/edac/igen6_edac.c @@ -800,7 +800,7 @@ static int errcmd_enable_error_reporting(bool enable) rc = pci_read_config_word(imc->pdev, ERRCMD_OFFSET, &errcmd); if (rc) - return rc; + return pcibios_err_to_errno(rc); if (enable) errcmd |= ERRCMD_CE | ERRSTS_UE; @@ -809,7 +809,7 @@ static int errcmd_enable_error_reporting(bool enable) rc = pci_write_config_word(imc->pdev, ERRCMD_OFFSET, errcmd); if (rc) - return rc; + return pcibios_err_to_errno(rc); return 0; }
errcmd_enable_error_reporting() uses pci_{read,write}_config_word() that return PCIBIOS_* codes. The return code is then returned all the way into the probe function igen6_probe() that returns it as is. The probe functions, however, should return normal errnos. Convert PCIBIOS_* returns code using pcibios_err_to_errno() into normal errno before returning it from errcmd_enable_error_reporting(). Fixes: 10590a9d4f23 ("EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC") Cc: stable@vger.kernel.org Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> --- drivers/edac/igen6_edac.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)