diff --git a/fs/char_dev.c b/fs/char_dev.c index 33827fe2596a..5bebf9bc4c15 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -543,7 +543,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;