fix compile warning in pseries xics
PATCH 1/1 fix compile warning in pseries xics
In 616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32 request_irq was marked as __must_check so we must... er... check it.
---
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(-)
arch/powerpc/platforms/pseries/xics.c +9 -4
@@ -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 */
Quoted 28 lines · Michael Neuling
In
616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32request_irqwas marked as__must_checkso we must... er... check it.Signed-off-by Michael Neuling <[email protected]>---
This is the onlyrequest_irqwhich is not checked inarch/powerpcarch/powerpc/platforms/pseries/xics.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)Index:
linux-2.6-ozlabs/arch/powerpc/platforms/pseries/xics.c
===================================================================arch/powerpc/platforms/pseries/xics.c +1
-2@@ -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 );
arch/powerpc/platforms/pseries/xics.c void xics_request_IPIs(void) · line 773
Quoted 10 lines
arch/powerpc/platforms/pseries/xics.c +7
-2+ 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
Signature · 8 lines
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 1/1 fix compile warning in pseries xics
In 616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32 request_irq was marked as __must_check so we must... er... check it.
---
Updated based on comments from mpe and benh.
arch/powerpc/platforms/pseries/xics.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
arch/powerpc/platforms/pseries/xics.c +6 -4
@@ -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 */
Quoted 4 lines · Michael Neuling
arch/powerpc/platforms/pseries/xics.c +0
-0@@ -762,11 +763,12 @@ void xics_request_IPIs(void)*/ set_irq_handler (ipi, handle_percpu_irq);if (firmware_has_feature (FW_FEATURE_LPAR ))
arch/powerpc/platforms/pseries/xics.c void xics_request_IPIs(void) · line 771
Quoted 10 lines
arch/powerpc/platforms/pseries/xics.c +5
-4-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
Quoted 12 lines · Olof Johansson
Quoted 11 lines · Michael Neuling
arch/powerpc/platforms/pseries/xics.c +2
-4@@ -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 );
Quoted 8 lines
arch/powerpc/platforms/pseries/xics.c void xics_request_IPIs(void) · line 771
Quoted 3 lines
arch/powerpc/platforms/pseries/xics.c +3
-0+ 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
Signature · 8 lines
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