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]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/staging/comedi/drivers/cb_das16_cs.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/cb_das16_cs.c 
b/drivers/staging/comedi/drivers/cb_das16_cs.c
index 624e005..625134f 100644
--- a/drivers/staging/comedi/drivers/cb_das16_cs.c
+++ b/drivers/staging/comedi/drivers/cb_das16_cs.c
@@ -784,11 +784,17 @@ static int __init das16cs_init(void)
 {
        int ret;
 
-       ret = pcmcia_register_driver(&das16cs_driver);
+       ret = comedi_driver_register(&driver_das16cs);
        if (ret < 0)
                return ret;
 
-       return comedi_driver_register(&driver_das16cs);
+       ret = pcmcia_register_driver(&das16cs_driver);
+       if (ret < 0) {
+               comedi_driver_unregister(&driver_das16cs);
+               return ret;
+       }
+
+       return 0;
 }
 module_init(das16cs_init);
 
-- 
1.7.11

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

Reply via email to