diff options
-rw-r--r-- | alias.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -34,8 +34,15 @@ static const struct device_type alias_device_type; static void alias_set_device(struct alias_device *alias, struct device *dev) { - if (dev == alias->dep.dev) + if (dev == alias->dep.dev) { + if (alias->update) { + device_remove_user(&alias->new_dep); + alias->update = false; + if (dev) + device_set_present(&alias->dev, true); + } return; + } device_set_present(&alias->dev, false); device_remove_user(&alias->new_dep); |