]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
EDAC/igen6: Convert PCIBIOS_* return codes to errnos
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 27 May 2024 13:22:35 +0000 (16:22 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Jun 2024 11:41:41 +0000 (13:41 +0200)
commit f8367a74aebf88dc8b58a0db6a6c90b4cb8fc9d3 upstream.

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")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240527132236.13875-2-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/edac/igen6_edac.c

index 8ec70da8d84fe7989aabb2fdc2dbde3ca2917174..c46880a934da04a2b533ea655da099d55b4a7c12 100644 (file)
@@ -627,7 +627,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;
@@ -636,7 +636,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;
 }