As done with the other comedi driver types, register the
comedi_driver first then the pcmcia_driver. Also, make
sure the pcmcia_driver registration succeeds and unregister
the comedi_driver it it fails.

Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Ian Abbott <[email protected]>
Cc: Frank Mori Hess <[email protected]>
Cc: Greg Kroah-hartman <[email protected]>
---
 drivers/staging/comedi/drivers/ni_daq_700.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_daq_700.c 
b/drivers/staging/comedi/drivers/ni_daq_700.c
index b06792b..af4f10f 100644
--- a/drivers/staging/comedi/drivers/ni_daq_700.c
+++ b/drivers/staging/comedi/drivers/ni_daq_700.c
@@ -443,11 +443,17 @@ static int __init dio700_cs_init(void)
 {
        int ret;
 
-       ret = pcmcia_register_driver(&dio700_cs_driver);
+       ret = comedi_driver_register(&driver_dio700);
        if (ret < 0)
                return ret;
 
-       return comedi_driver_register(&driver_dio700);
+       ret = pcmcia_register_driver(&dio700_cs_driver);
+       if (ret < 0) {
+               comedi_driver_unregister(&driver_dio700);
+               return ret;
+       }
+
+       return 0;
 }
 module_init(dio700_cs_init);
 
-- 
1.7.11

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to