diff --git a/fs/char_dev.c b/fs/char_dev.c index 1bbb966c0783..9f79fd345e79 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -528,7 +528,7 @@ int cdev_device_add(struct cdev *cdev, struct device *dev) } rc = device_add(dev); - if (rc) + if (rc && dev->devt) cdev_del(cdev); return rc;