Check pci_register_driver() error in module_init.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
                printk(KERN_WARNING "bttv: bus_register error: %d\n", ret);
                return ret;
        }
-       return pci_register_driver(&bttv_pci_driver);
+       ret = pci_register_driver(&bttv_pci_driver);
+       if (ret < 0)
+               bus_unregister(&bttv_sub_bus_type);
+
+       return ret;
 }
 
 static void __exit bttv_cleanup_module(void)
 {
        pci_unregister_driver(&bttv_pci_driver);
        bus_unregister(&bttv_sub_bus_type);
-       return;
 }
 
 module_init(bttv_init_module);