If request_irq() fails it passes the error to the caller. The caller
now checks it and jumps to the common error path on failure.

Signed-off-by: Sudip Mukherjee <sudip.mukher...@codethink.co.uk>
---
 drivers/pcmcia/m32r_pcc.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/pcmcia/m32r_pcc.c b/drivers/pcmcia/m32r_pcc.c
index 56bf388..e50bbf8 100644
--- a/drivers/pcmcia/m32r_pcc.c
+++ b/drivers/pcmcia/m32r_pcc.c
@@ -696,10 +696,16 @@ static int __init init_m32r_pcc(void)
 
        pcc_sockets = 0;
 
-       add_pcc_socket(M32R_PCC0_BASE, PCC0_IRQ, M32R_PCC0_MAPBASE, 0x1000);
+       ret = add_pcc_socket(M32R_PCC0_BASE, PCC0_IRQ, M32R_PCC0_MAPBASE,
+                            0x1000);
+       if (ret)
+               goto unreg_dev;
 
 #ifdef CONFIG_M32RPCC_SLOT2
-       add_pcc_socket(M32R_PCC1_BASE, PCC1_IRQ, M32R_PCC1_MAPBASE, 0x2000);
+       ret = add_pcc_socket(M32R_PCC1_BASE, PCC1_IRQ, M32R_PCC1_MAPBASE,
+                            0x2000);
+       if (ret)
+               goto unreg_dev;
 #endif
 
        if (pcc_sockets == 0) {
-- 
1.9.1

Reply via email to