From 3014712fe1dc26640178319e55f3a80ce42a4775 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Wed, 21 Oct 2015 11:51:43 +0200 Subject: [PATCH] greybus: endo: fix device-id allocation During endo registration, a unique device id was allocated but then never used. Instead the default dev_id 0 (due to kzalloc) was used for device-generation and later for id-deallocation. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/endo.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/staging/greybus/endo.c b/drivers/staging/greybus/endo.c index c0dc43f..37d2dec 100644 --- a/drivers/staging/greybus/endo.c +++ b/drivers/staging/greybus/endo.c @@ -438,11 +438,14 @@ static int create_modules(struct gb_endo *endo) static int gb_endo_register(struct greybus_host_device *hd, struct gb_endo *endo) { + int dev_id; int retval; - retval = ida_simple_get(&greybus_endo_id_map, 0, 0, GFP_KERNEL); - if (retval < 0) - return retval; + dev_id = ida_simple_get(&greybus_endo_id_map, 0, 0, GFP_KERNEL); + if (dev_id < 0) + return dev_id; + + endo->dev_id = dev_id; endo->dev.parent = hd->parent; endo->dev.bus = &greybus_bus_type; -- 2.7.4