Commit 066799c1 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

greybus: module: don't create duplicate module ids

If we somehow get a hotplug event for a module id that we already have
created[1], don't try to create it again, or sysfs will complain loudly.
Instead, abort the creation properly.

[1] If, for example, you happened to run a script on a greybus emulator
twice in a row...
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
Reviewed-by: default avatarAlex Elder <elder@linaro.org>
parent 3e6d5f3a
...@@ -70,6 +70,13 @@ struct gb_module *gb_module_create(struct greybus_host_device *hd, u8 module_id) ...@@ -70,6 +70,13 @@ struct gb_module *gb_module_create(struct greybus_host_device *hd, u8 module_id)
struct gb_module *gmod; struct gb_module *gmod;
int retval; int retval;
gmod = gb_module_find(hd, module_id);
if (gmod) {
dev_err(hd->parent, "Duplicate module id %d will not be created\n",
module_id);
return NULL;
}
gmod = kzalloc(sizeof(*gmod), GFP_KERNEL); gmod = kzalloc(sizeof(*gmod), GFP_KERNEL);
if (!gmod) if (!gmod)
return NULL; return NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment