[PATCH] fix compile warning in pseries xics

STALE7019d

5 messages, 3 authors, 2007-05-30 · open the first message on its own page

[PATCH] fix compile warning in pseries xics

From: Michael Neuling <hidden>
Date: 2007-05-29 05:50:29

In 616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32 request_irq was marked as
__must_check so we must... er... check it.

Signed-off-by: Michael Neuling <redacted>
---
This is the only request_irq which is not checked in arch/powerpc

 arch/powerpc/platforms/pseries/xics.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

Index: linux-2.6-ozlabs/arch/powerpc/platforms/pseries/xics.c
===================================================================
--- linux-2.6-ozlabs.orig/arch/powerpc/platforms/pseries/xics.c
+++ linux-2.6-ozlabs/arch/powerpc/platforms/pseries/xics.c
@@ -752,6 +752,7 @@ skip_gserver_check:
 void xics_request_IPIs(void)
 {
 	unsigned int ipi;
+	int t;
 
 	ipi = irq_create_mapping(xics_host, XICS_IPI);
 	BUG_ON(ipi == NO_IRQ);
@@ -762,11 +763,15 @@ void xics_request_IPIs(void)
 	 */
 	set_irq_handler(ipi, handle_percpu_irq);
 	if (firmware_has_feature(FW_FEATURE_LPAR))
-		request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
-			    "IPI", NULL);
+		t = request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
+				"IPI", NULL);
 	else
-		request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
-			    "IPI", NULL);
+		t = request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
+				"IPI", NULL);
+	if (t)
+		printk(KERN_ERR "Unable to request interrupt %d for IPI\n",
+		       ipi);
+
 }
 #endif /* CONFIG_SMP */
 

Re: [PATCH] fix compile warning in pseries xics

From: Michael Ellerman <hidden>
Date: 2007-05-29 05:52:17

On Tue, 2007-05-29 at 15:50 +1000, Michael Neuling wrote:
quoted hunk
In 616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32 request_irq was marked as
__must_check so we must... er... check it.

Signed-off-by: Michael Neuling <redacted>
---
This is the only request_irq which is not checked in arch/powerpc

 arch/powerpc/platforms/pseries/xics.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

Index: linux-2.6-ozlabs/arch/powerpc/platforms/pseries/xics.c
===================================================================
--- linux-2.6-ozlabs.orig/arch/powerpc/platforms/pseries/xics.c
+++ linux-2.6-ozlabs/arch/powerpc/platforms/pseries/xics.c
@@ -752,6 +752,7 @@ skip_gserver_check:
 void xics_request_IPIs(void)
 {
 	unsigned int ipi;
+	int t;
 
 	ipi = irq_create_mapping(xics_host, XICS_IPI);
 	BUG_ON(ipi == NO_IRQ);
@@ -762,11 +763,15 @@ void xics_request_IPIs(void)
 	 */
 	set_irq_handler(ipi, handle_percpu_irq);
 	if (firmware_has_feature(FW_FEATURE_LPAR))
-		request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
-			    "IPI", NULL);
+		t = request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
+				"IPI", NULL);
 	else
-		request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
-			    "IPI", NULL);
+		t = request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
+				"IPI", NULL);
+	if (t)
+		printk(KERN_ERR "Unable to request interrupt %d for IPI\n",
+		       ipi);
or BUG() ?

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person

[PATCH] fix compile warning in pseries xics

From: Michael Neuling <hidden>
Date: 2007-05-29 07:01:52

In 616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32 request_irq was marked as
__must_check so we must... er... check it.

Signed-off-by: Michael Neuling <redacted>
---
Updated based on comments from mpe and benh.

 arch/powerpc/platforms/pseries/xics.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Index: linux-2.6-ozlabs/arch/powerpc/platforms/pseries/xics.c
===================================================================
--- linux-2.6-ozlabs.orig/arch/powerpc/platforms/pseries/xics.c
+++ linux-2.6-ozlabs/arch/powerpc/platforms/pseries/xics.c
@@ -752,6 +752,7 @@ skip_gserver_check:
 void xics_request_IPIs(void)
 {
 	unsigned int ipi;
+	int rc;
 
 	ipi = irq_create_mapping(xics_host, XICS_IPI);
 	BUG_ON(ipi == NO_IRQ);
@@ -762,11 +763,12 @@ void xics_request_IPIs(void)
 	 */
 	set_irq_handler(ipi, handle_percpu_irq);
 	if (firmware_has_feature(FW_FEATURE_LPAR))
-		request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
-			    "IPI", NULL);
+		rc = request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
+				"IPI", NULL);
 	else
-		request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
-			    "IPI", NULL);
+		rc = request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
+				"IPI", NULL);
+	BUG_ON(rc);
 }
 #endif /* CONFIG_SMP */
 

Re: [PATCH] fix compile warning in pseries xics

From: Olof Johansson <hidden>
Date: 2007-05-29 14:22:02

On Tue, May 29, 2007 at 05:01:52PM +1000, Michael Neuling wrote:
quoted hunk
@@ -762,11 +763,12 @@ void xics_request_IPIs(void)
 	 */
 	set_irq_handler(ipi, handle_percpu_irq);
 	if (firmware_has_feature(FW_FEATURE_LPAR))
-		request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
-			    "IPI", NULL);
+		rc = request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
+				"IPI", NULL);
 	else
-		request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
-			    "IPI", NULL);
+		rc = request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
+				"IPI", NULL);
+	BUG_ON(rc);
Is this late enough during boot that you actually get useful information
out of a BUG()?  It might be better to spit out an error and keep on
going if that's the case (I'm afraid I don't have hardware at hand to
test with right now).


-Olof

Re: [PATCH] fix compile warning in pseries xics

From: Michael Ellerman <hidden>
Date: 2007-05-30 00:28:12

On Tue, 2007-05-29 at 09:27 -0500, Olof Johansson wrote:
On Tue, May 29, 2007 at 05:01:52PM +1000, Michael Neuling wrote:
quoted
@@ -762,11 +763,12 @@ void xics_request_IPIs(void)
 	 */
 	set_irq_handler(ipi, handle_percpu_irq);
 	if (firmware_has_feature(FW_FEATURE_LPAR))
-		request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
-			    "IPI", NULL);
+		rc = request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED,
+				"IPI", NULL);
 	else
-		request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
-			    "IPI", NULL);
+		rc = request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED,
+				"IPI", NULL);
+	BUG_ON(rc);
Is this late enough during boot that you actually get useful information
out of a BUG()?  It might be better to spit out an error and keep on
going if that's the case (I'm afraid I don't have hardware at hand to
test with right now).
It's way late:

start_kernel()
  rest_init()
    kernel_init()
      smp_prepare_cpus()
        smp_ops->probe()
          smp_xics_probe()
            xics_request_IPIs()

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help