diff mbox series

[2/2] EDAC/igen6: Convert PCIBIOS_* return codes to errnos

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

Commit Message

Ilpo Järvinen May 27, 2024, 1:22 p.m. UTC
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(-)

Comments

Zhuo, Qiuxu June 4, 2024, 2:39 a.m. UTC | #1
> 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 mbox series

Patch

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;
 }