From a5808add9a6cae290af60bb3b4efd2c9d3208588 Mon Sep 17 00:00:00 2001
From: Alex Elder <elder@linaro.org>
Date: Tue, 9 Sep 2014 13:55:06 -0500
Subject: [PATCH] greybus: call put_device() on error

As soon as we've called device_initialize() we're required to call
put_device() in order to drop our reference to the device structure.
This was missed in the error path in greybus_new_module().  Fix that.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
---
 drivers/staging/greybus/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/greybus/core.c b/drivers/staging/greybus/core.c
index 95655e258e84c..3bb8f9cb55f8e 100644
--- a/drivers/staging/greybus/core.c
+++ b/drivers/staging/greybus/core.c
@@ -440,6 +440,7 @@ struct greybus_device *greybus_new_module(struct device *parent,
 
 	return gdev;
 error:
+	put_device(&gdev->dev);
 	greybus_module_release(&gdev->dev);
 	return NULL;
 }
-- 
2.30.2