* [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable()
@ 2024-05-27 12:55 Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 2/4] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling Ilpo Järvinen
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Ilpo Järvinen @ 2024-05-27 12:55 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Grant Likely, Sebastian Andrzej Siewior,
linux-kernel
Cc: Ilpo Järvinen, stable
x86_of_pci_irq_enable() returns PCIBIOS_* code received from
pci_read_config_byte() directly and also -EINVAL which are not
compatible error types. x86_of_pci_irq_enable() is used as
(*pcibios_enable_irq) function which should not return PCIBIOS_* codes.
Convert the PCIBIOS_* return code from pci_read_config_byte() into
normal errno using pcibios_err_to_errno().
Fixes: 96e0a0797eba ("x86: dtb: Add support for PCI devices backed by dtb nodes")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Cc: stable@vger.kernel.org
---
arch/x86/kernel/devicetree.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
index 8e3c53b4d070..64280879c68c 100644
--- a/arch/x86/kernel/devicetree.c
+++ b/arch/x86/kernel/devicetree.c
@@ -83,7 +83,7 @@ static int x86_of_pci_irq_enable(struct pci_dev *dev)
ret = pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
if (ret)
- return ret;
+ return pcibios_err_to_errno(ret);
if (!pin)
return 0;
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/4] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling
2024-05-27 12:55 [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Ilpo Järvinen
@ 2024-05-27 12:55 ` Ilpo Järvinen
2024-05-27 16:14 ` Andy Shevchenko
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 3/4] x86/pci/xen: " Ilpo Järvinen
` (3 subsequent siblings)
4 siblings, 2 replies; 12+ messages in thread
From: Ilpo Järvinen @ 2024-05-27 12:55 UTC (permalink / raw)
To: Bjorn Helgaas, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen, x86, H. Peter Anvin, Andy Shevchenko, linux-pci,
linux-kernel
Cc: Ilpo Järvinen, stable
intel_mid_pci_irq_enable() uses pci_read_config_byte() that returns
PCIBIOS_* codes. The error handling, however, assumes the codes are
normal errnos because it checks for < 0.
intel_mid_pci_irq_enable() also returns the PCIBIOS_* code back to the
caller but the function is used as the (*pcibios_enable_irq) function
which should return normal errnos.
Convert the error check to plain non-zero check which works for
PCIBIOS_* return codes and convert the PCIBIOS_* return code using
pcibios_err_to_errno() into normal errno before returning it.
Fixes: 5b395e2be6c4 ("x86/platform/intel-mid: Make IRQ allocation a bit more flexible")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Cc: stable@vger.kernel.org
---
arch/x86/pci/intel_mid_pci.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/pci/intel_mid_pci.c b/arch/x86/pci/intel_mid_pci.c
index 8edd62206604..722a33be08a1 100644
--- a/arch/x86/pci/intel_mid_pci.c
+++ b/arch/x86/pci/intel_mid_pci.c
@@ -233,9 +233,9 @@ static int intel_mid_pci_irq_enable(struct pci_dev *dev)
return 0;
ret = pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &gsi);
- if (ret < 0) {
+ if (ret) {
dev_warn(&dev->dev, "Failed to read interrupt line: %d\n", ret);
- return ret;
+ return pcibios_err_to_errno(ret);
}
id = x86_match_cpu(intel_mid_cpu_ids);
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/4] x86/pci/xen: Fix PCIBIOS_* return code handling
2024-05-27 12:55 [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 2/4] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling Ilpo Järvinen
@ 2024-05-27 12:55 ` Ilpo Järvinen
2024-05-28 12:56 ` Jürgen Groß
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 4/4] x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos Ilpo Järvinen
` (2 subsequent siblings)
4 siblings, 2 replies; 12+ messages in thread
From: Ilpo Järvinen @ 2024-05-27 12:55 UTC (permalink / raw)
To: Juergen Gross, Bjorn Helgaas, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin,
Konrad Rzeszutek Wilk, Ian Campbell, xen-devel, linux-pci,
linux-kernel
Cc: Ilpo Järvinen, stable
xen_pcifront_enable_irq() uses pci_read_config_byte() that returns
PCIBIOS_* codes. The error handling, however, assumes the codes are
normal errnos because it checks for < 0.
xen_pcifront_enable_irq() also returns the PCIBIOS_* code back to the
caller but the function is used as the (*pcibios_enable_irq) function
which should return normal errnos.
Convert the error check to plain non-zero check which works for
PCIBIOS_* return codes and convert the PCIBIOS_* return code using
pcibios_err_to_errno() into normal errno before returning it.
Fixes: 3f2a230caf21 ("xen: handled remapped IRQs when enabling a pcifront PCI device.")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Cc: stable@vger.kernel.org
---
arch/x86/pci/xen.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 652cd53e77f6..0f2fe524f60d 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -38,10 +38,10 @@ static int xen_pcifront_enable_irq(struct pci_dev *dev)
u8 gsi;
rc = pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &gsi);
- if (rc < 0) {
+ if (rc) {
dev_warn(&dev->dev, "Xen PCI: failed to read interrupt line: %d\n",
rc);
- return rc;
+ return pcibios_err_to_errno(rc);
}
/* In PV DomU the Xen PCI backend puts the PIRQ in the interrupt line.*/
pirq = gsi;
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/4] x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos
2024-05-27 12:55 [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 2/4] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 3/4] x86/pci/xen: " Ilpo Järvinen
@ 2024-05-27 12:55 ` Ilpo Järvinen
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
2024-06-21 14:15 ` [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Borislav Petkov
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
4 siblings, 1 reply; 12+ messages in thread
From: Ilpo Järvinen @ 2024-05-27 12:55 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, David E. Box, linux-kernel
Cc: Ilpo Järvinen, stable
iosf_mbi_pci_{read,write}_mdr() use pci_{read,write}_config_dword()
that return PCIBIOS_* codes but functions also return -ENODEV which are
not compatible error codes. As neither of the functions are related to
PCI read/write functions, they should return normal errnos.
Convert PCIBIOS_* returns code using pcibios_err_to_errno() into normal
errno before returning it.
Fixes: 46184415368a ("arch: x86: New MailBox support driver for Intel SOC's")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Cc: stable@vger.kernel.org
---
arch/x86/platform/intel/iosf_mbi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/platform/intel/iosf_mbi.c b/arch/x86/platform/intel/iosf_mbi.c
index fdd49d70b437..c81cea208c2c 100644
--- a/arch/x86/platform/intel/iosf_mbi.c
+++ b/arch/x86/platform/intel/iosf_mbi.c
@@ -62,7 +62,7 @@ static int iosf_mbi_pci_read_mdr(u32 mcrx, u32 mcr, u32 *mdr)
fail_read:
dev_err(&mbi_pdev->dev, "PCI config access failed with %d\n", result);
- return result;
+ return pcibios_err_to_errno(result);
}
static int iosf_mbi_pci_write_mdr(u32 mcrx, u32 mcr, u32 mdr)
@@ -91,7 +91,7 @@ static int iosf_mbi_pci_write_mdr(u32 mcrx, u32 mcr, u32 mdr)
fail_write:
dev_err(&mbi_pdev->dev, "PCI config access failed with %d\n", result);
- return result;
+ return pcibios_err_to_errno(result);
}
int iosf_mbi_read(u8 port, u8 opcode, u32 offset, u32 *mdr)
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 2/4] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling
2024-05-27 12:55 ` [PATCH 2/4] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling Ilpo Järvinen
@ 2024-05-27 16:14 ` Andy Shevchenko
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
1 sibling, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2024-05-27 16:14 UTC (permalink / raw)
To: Ilpo Järvinen
Cc: Bjorn Helgaas, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen, x86, H. Peter Anvin, linux-pci, linux-kernel, stable
On Mon, May 27, 2024 at 03:55:36PM +0300, Ilpo Järvinen wrote:
> intel_mid_pci_irq_enable() uses pci_read_config_byte() that returns
> PCIBIOS_* codes. The error handling, however, assumes the codes are
> normal errnos because it checks for < 0.
>
> intel_mid_pci_irq_enable() also returns the PCIBIOS_* code back to the
> caller but the function is used as the (*pcibios_enable_irq) function
> which should return normal errnos.
>
> Convert the error check to plain non-zero check which works for
> PCIBIOS_* return codes and convert the PCIBIOS_* return code using
> pcibios_err_to_errno() into normal errno before returning it.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 3/4] x86/pci/xen: Fix PCIBIOS_* return code handling
2024-05-27 12:55 ` [PATCH 3/4] x86/pci/xen: " Ilpo Järvinen
@ 2024-05-28 12:56 ` Jürgen Groß
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
1 sibling, 0 replies; 12+ messages in thread
From: Jürgen Groß @ 2024-05-28 12:56 UTC (permalink / raw)
To: Ilpo Järvinen, Bjorn Helgaas, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin,
Konrad Rzeszutek Wilk, Ian Campbell, xen-devel, linux-pci,
linux-kernel
Cc: stable
On 27.05.24 14:55, Ilpo Järvinen wrote:
> xen_pcifront_enable_irq() uses pci_read_config_byte() that returns
> PCIBIOS_* codes. The error handling, however, assumes the codes are
> normal errnos because it checks for < 0.
>
> xen_pcifront_enable_irq() also returns the PCIBIOS_* code back to the
> caller but the function is used as the (*pcibios_enable_irq) function
> which should return normal errnos.
>
> Convert the error check to plain non-zero check which works for
> PCIBIOS_* return codes and convert the PCIBIOS_* return code using
> pcibios_err_to_errno() into normal errno before returning it.
>
> Fixes: 3f2a230caf21 ("xen: handled remapped IRQs when enabling a pcifront PCI device.")
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> Cc: stable@vger.kernel.org
Reviewed-by: Juergen Gross <jgross@suse.com>
Juergen
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable()
2024-05-27 12:55 [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Ilpo Järvinen
` (2 preceding siblings ...)
2024-05-27 12:55 ` [PATCH 4/4] x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos Ilpo Järvinen
@ 2024-06-21 14:15 ` Borislav Petkov
2024-06-23 17:27 ` Ilpo Järvinen
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
4 siblings, 1 reply; 12+ messages in thread
From: Borislav Petkov @ 2024-06-21 14:15 UTC (permalink / raw)
To: Ilpo Järvinen
Cc: Thomas Gleixner, Ingo Molnar, Dave Hansen, x86, H. Peter Anvin,
Grant Likely, Sebastian Andrzej Siewior, linux-kernel, stable
On Mon, May 27, 2024 at 03:55:35PM +0300, Ilpo Järvinen wrote:
> x86_of_pci_irq_enable() returns PCIBIOS_* code received from
> pci_read_config_byte() directly and also -EINVAL which are not
> compatible error types. x86_of_pci_irq_enable() is used as
> (*pcibios_enable_irq) function which should not return PCIBIOS_* codes.
>
> Convert the PCIBIOS_* return code from pci_read_config_byte() into
> normal errno using pcibios_err_to_errno().
>
> Fixes: 96e0a0797eba ("x86: dtb: Add support for PCI devices backed by dtb nodes")
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> Cc: stable@vger.kernel.org
Any particular reason why this is CC:stable?
I'd say unless you're fixing a specific failure, this should go the normal
route to 6.11...
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable()
2024-06-21 14:15 ` [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Borislav Petkov
@ 2024-06-23 17:27 ` Ilpo Järvinen
0 siblings, 0 replies; 12+ messages in thread
From: Ilpo Järvinen @ 2024-06-23 17:27 UTC (permalink / raw)
To: Borislav Petkov
Cc: Thomas Gleixner, Ingo Molnar, Dave Hansen, x86, H. Peter Anvin,
Grant Likely, Sebastian Andrzej Siewior, LKML, stable
[-- Attachment #1: Type: text/plain, Size: 1054 bytes --]
On Fri, 21 Jun 2024, Borislav Petkov wrote:
> On Mon, May 27, 2024 at 03:55:35PM +0300, Ilpo Järvinen wrote:
> > x86_of_pci_irq_enable() returns PCIBIOS_* code received from
> > pci_read_config_byte() directly and also -EINVAL which are not
> > compatible error types. x86_of_pci_irq_enable() is used as
> > (*pcibios_enable_irq) function which should not return PCIBIOS_* codes.
> >
> > Convert the PCIBIOS_* return code from pci_read_config_byte() into
> > normal errno using pcibios_err_to_errno().
> >
> > Fixes: 96e0a0797eba ("x86: dtb: Add support for PCI devices backed by dtb nodes")
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > Cc: stable@vger.kernel.org
>
> Any particular reason why this is CC:stable?
>
> I'd say unless you're fixing a specific failure, this should go the normal
> route to 6.11...
It can go the normal route. And feel free to drop Cc stable too but I
don't think it matters much as stable folks will autoselect things
regardless of cc being there or not.
--
i.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [tip: x86/misc] x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos
2024-05-27 12:55 ` [PATCH 4/4] x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos Ilpo Järvinen
@ 2024-06-24 17:47 ` tip-bot2 for Ilpo Järvinen
0 siblings, 0 replies; 12+ messages in thread
From: tip-bot2 for Ilpo Järvinen @ 2024-06-24 17:47 UTC (permalink / raw)
To: linux-tip-commits; +Cc: ilpo.jarvinen, Borislav Petkov (AMD), x86, linux-kernel
The following commit has been merged into the x86/misc branch of tip:
Commit-ID: 7821fa101eab529521aa4b724bf708149d70820c
Gitweb: https://git.kernel.org/tip/7821fa101eab529521aa4b724bf708149d70820c
Author: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
AuthorDate: Mon, 27 May 2024 15:55:38 +03:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Mon, 24 Jun 2024 19:28:18 +02:00
x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos
iosf_mbi_pci_{read,write}_mdr() use pci_{read,write}_config_dword()
that return PCIBIOS_* codes but functions also return -ENODEV which are
not compatible error codes. As neither of the functions are related to
PCI read/write functions, they should return normal errnos.
Convert PCIBIOS_* returns code using pcibios_err_to_errno() into normal
errno before returning it.
Fixes: 46184415368a ("arch: x86: New MailBox support driver for Intel SOC's")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240527125538.13620-4-ilpo.jarvinen@linux.intel.com
---
arch/x86/platform/intel/iosf_mbi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/platform/intel/iosf_mbi.c b/arch/x86/platform/intel/iosf_mbi.c
index fdd49d7..c81cea2 100644
--- a/arch/x86/platform/intel/iosf_mbi.c
+++ b/arch/x86/platform/intel/iosf_mbi.c
@@ -62,7 +62,7 @@ static int iosf_mbi_pci_read_mdr(u32 mcrx, u32 mcr, u32 *mdr)
fail_read:
dev_err(&mbi_pdev->dev, "PCI config access failed with %d\n", result);
- return result;
+ return pcibios_err_to_errno(result);
}
static int iosf_mbi_pci_write_mdr(u32 mcrx, u32 mcr, u32 mdr)
@@ -91,7 +91,7 @@ static int iosf_mbi_pci_write_mdr(u32 mcrx, u32 mcr, u32 mdr)
fail_write:
dev_err(&mbi_pdev->dev, "PCI config access failed with %d\n", result);
- return result;
+ return pcibios_err_to_errno(result);
}
int iosf_mbi_read(u8 port, u8 opcode, u32 offset, u32 *mdr)
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [tip: x86/misc] x86/of: Return consistent error type from x86_of_pci_irq_enable()
2024-05-27 12:55 [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Ilpo Järvinen
` (3 preceding siblings ...)
2024-06-21 14:15 ` [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Borislav Petkov
@ 2024-06-24 17:47 ` tip-bot2 for Ilpo Järvinen
4 siblings, 0 replies; 12+ messages in thread
From: tip-bot2 for Ilpo Järvinen @ 2024-06-24 17:47 UTC (permalink / raw)
To: linux-tip-commits; +Cc: ilpo.jarvinen, Borislav Petkov (AMD), x86, linux-kernel
The following commit has been merged into the x86/misc branch of tip:
Commit-ID: ec0b4c4d45cf7cf9a6c9626a494a89cb1ae7c645
Gitweb: https://git.kernel.org/tip/ec0b4c4d45cf7cf9a6c9626a494a89cb1ae7c645
Author: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
AuthorDate: Mon, 27 May 2024 15:55:35 +03:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Mon, 24 Jun 2024 19:11:31 +02:00
x86/of: Return consistent error type from x86_of_pci_irq_enable()
x86_of_pci_irq_enable() returns PCIBIOS_* code received from
pci_read_config_byte() directly and also -EINVAL which are not
compatible error types. x86_of_pci_irq_enable() is used as
(*pcibios_enable_irq) function which should not return PCIBIOS_* codes.
Convert the PCIBIOS_* return code from pci_read_config_byte() into
normal errno using pcibios_err_to_errno().
Fixes: 96e0a0797eba ("x86: dtb: Add support for PCI devices backed by dtb nodes")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240527125538.13620-1-ilpo.jarvinen@linux.intel.com
---
arch/x86/kernel/devicetree.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
index 8e3c53b..6428087 100644
--- a/arch/x86/kernel/devicetree.c
+++ b/arch/x86/kernel/devicetree.c
@@ -83,7 +83,7 @@ static int x86_of_pci_irq_enable(struct pci_dev *dev)
ret = pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
if (ret)
- return ret;
+ return pcibios_err_to_errno(ret);
if (!pin)
return 0;
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [tip: x86/misc] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling
2024-05-27 12:55 ` [PATCH 2/4] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling Ilpo Järvinen
2024-05-27 16:14 ` Andy Shevchenko
@ 2024-06-24 17:47 ` tip-bot2 for Ilpo Järvinen
1 sibling, 0 replies; 12+ messages in thread
From: tip-bot2 for Ilpo Järvinen @ 2024-06-24 17:47 UTC (permalink / raw)
To: linux-tip-commits
Cc: ilpo.jarvinen, Borislav Petkov (AMD), Andy Shevchenko, x86,
linux-kernel
The following commit has been merged into the x86/misc branch of tip:
Commit-ID: 724852059e97c48557151b3aa4af424614819752
Gitweb: https://git.kernel.org/tip/724852059e97c48557151b3aa4af424614819752
Author: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
AuthorDate: Mon, 27 May 2024 15:55:36 +03:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Mon, 24 Jun 2024 19:19:55 +02:00
x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling
intel_mid_pci_irq_enable() uses pci_read_config_byte() that returns
PCIBIOS_* codes. The error handling, however, assumes the codes are
normal errnos because it checks for < 0.
intel_mid_pci_irq_enable() also returns the PCIBIOS_* code back to the
caller but the function is used as the (*pcibios_enable_irq) function
which should return normal errnos.
Convert the error check to plain non-zero check which works for
PCIBIOS_* return codes and convert the PCIBIOS_* return code using
pcibios_err_to_errno() into normal errno before returning it.
Fixes: 5b395e2be6c4 ("x86/platform/intel-mid: Make IRQ allocation a bit more flexible")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240527125538.13620-2-ilpo.jarvinen@linux.intel.com
---
arch/x86/pci/intel_mid_pci.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/pci/intel_mid_pci.c b/arch/x86/pci/intel_mid_pci.c
index 8edd622..722a33b 100644
--- a/arch/x86/pci/intel_mid_pci.c
+++ b/arch/x86/pci/intel_mid_pci.c
@@ -233,9 +233,9 @@ static int intel_mid_pci_irq_enable(struct pci_dev *dev)
return 0;
ret = pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &gsi);
- if (ret < 0) {
+ if (ret) {
dev_warn(&dev->dev, "Failed to read interrupt line: %d\n", ret);
- return ret;
+ return pcibios_err_to_errno(ret);
}
id = x86_match_cpu(intel_mid_cpu_ids);
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [tip: x86/misc] x86/pci/xen: Fix PCIBIOS_* return code handling
2024-05-27 12:55 ` [PATCH 3/4] x86/pci/xen: " Ilpo Järvinen
2024-05-28 12:56 ` Jürgen Groß
@ 2024-06-24 17:47 ` tip-bot2 for Ilpo Järvinen
1 sibling, 0 replies; 12+ messages in thread
From: tip-bot2 for Ilpo Järvinen @ 2024-06-24 17:47 UTC (permalink / raw)
To: linux-tip-commits
Cc: ilpo.jarvinen, Borislav Petkov (AMD), Juergen Gross, x86,
linux-kernel
The following commit has been merged into the x86/misc branch of tip:
Commit-ID: e9d7b435dfaec58432f4106aaa632bf39f52ce9f
Gitweb: https://git.kernel.org/tip/e9d7b435dfaec58432f4106aaa632bf39f52ce9f
Author: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
AuthorDate: Mon, 27 May 2024 15:55:37 +03:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Mon, 24 Jun 2024 19:21:25 +02:00
x86/pci/xen: Fix PCIBIOS_* return code handling
xen_pcifront_enable_irq() uses pci_read_config_byte() that returns
PCIBIOS_* codes. The error handling, however, assumes the codes are
normal errnos because it checks for < 0.
xen_pcifront_enable_irq() also returns the PCIBIOS_* code back to the
caller but the function is used as the (*pcibios_enable_irq) function
which should return normal errnos.
Convert the error check to plain non-zero check which works for
PCIBIOS_* return codes and convert the PCIBIOS_* return code using
pcibios_err_to_errno() into normal errno before returning it.
Fixes: 3f2a230caf21 ("xen: handled remapped IRQs when enabling a pcifront PCI device.")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20240527125538.13620-3-ilpo.jarvinen@linux.intel.com
---
arch/x86/pci/xen.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 652cd53..0f2fe52 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -38,10 +38,10 @@ static int xen_pcifront_enable_irq(struct pci_dev *dev)
u8 gsi;
rc = pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &gsi);
- if (rc < 0) {
+ if (rc) {
dev_warn(&dev->dev, "Xen PCI: failed to read interrupt line: %d\n",
rc);
- return rc;
+ return pcibios_err_to_errno(rc);
}
/* In PV DomU the Xen PCI backend puts the PIRQ in the interrupt line.*/
pirq = gsi;
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-06-24 17:47 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-27 12:55 [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 2/4] x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling Ilpo Järvinen
2024-05-27 16:14 ` Andy Shevchenko
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 3/4] x86/pci/xen: " Ilpo Järvinen
2024-05-28 12:56 ` Jürgen Groß
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
2024-05-27 12:55 ` [PATCH 4/4] x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos Ilpo Järvinen
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
2024-06-21 14:15 ` [PATCH 1/4] x86/of: Return consistent error type from x86_of_pci_irq_enable() Borislav Petkov
2024-06-23 17:27 ` Ilpo Järvinen
2024-06-24 17:47 ` [tip: x86/misc] " tip-bot2 for Ilpo Järvinen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.