core: Check return value of osmo_fd_register()

Change-Id: I15bb456c42d5033c9cf4c0937df22fa02b6a6086
diff --git a/src/core/tun.c b/src/core/tun.c
index 4c9dec1..33c62d5 100644
--- a/src/core/tun.c
+++ b/src/core/tun.c
@@ -399,10 +399,15 @@
 	if (rc < 0)
 		goto err_close_tun;
 
-	osmo_fd_register(&tundev->wqueue.bfd);
+	rc = osmo_fd_register(&tundev->wqueue.bfd);
+	if (rc < 0)
+		goto err_unregister_netdev;
+
 	tundev->opened = true;
 	return 0;
 
+err_unregister_netdev:
+	osmo_netdev_unregister(tundev->netdev);
 err_close_tun:
 	close(tundev->wqueue.bfd.fd);
 	tundev->wqueue.bfd.fd = -1;