]> www.infradead.org Git - users/jedix/linux-maple.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)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 4 Jun 2024 09:29:52 +0000 (11:29 +0200)
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
drivers/edac/igen6_edac.c

index cdd8480e736877f77b290d0f6dfddd12a88f88d9..dbe9fe5f2ca6c35615563834a7e6553e35329f41 100644 (file)
@@ -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;
 }