ret = pci_register_driver(&cxgb4_driver);
        if (ret < 0)
-               debugfs_remove(cxgb4_debugfs_root);
+               goto err_pci;
 
 #if IS_ENABLED(CONFIG_IPV6)
        if (!inet6addr_registered) {
-               register_inet6addr_notifier(&cxgb4_inet6addr_notifier);
-               inet6addr_registered = true;
+               ret = register_inet6addr_notifier(&cxgb4_inet6addr_notifier);
+               if (ret)
+                       pci_unregister_driver(&cxgb4_driver);
+               else
+                       inet6addr_registered = true;
        }
 #endif
 
+       if (ret == 0)
+               return ret;
+
+err_pci:
+       debugfs_remove(cxgb4_debugfs_root);
+
        return ret;
 }