From 066799c18ff476642858fb0e4050c5c600c47e4c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 24 Oct 2014 18:46:15 +0800 Subject: [PATCH] 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: Greg Kroah-Hartman Reviewed-by: Alex Elder --- drivers/staging/greybus/module.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/staging/greybus/module.c b/drivers/staging/greybus/module.c index f9415c0..54e8f9e 100644 --- a/drivers/staging/greybus/module.c +++ b/drivers/staging/greybus/module.c @@ -70,6 +70,13 @@ struct gb_module *gb_module_create(struct greybus_host_device *hd, u8 module_id) struct gb_module *gmod; 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); if (!gmod) return NULL; -- 2.7.4