From: Perry Hung <perry@leaflabs.com>
Date: Fri, 24 Jul 2015 23:02:30 +0000 (-0400)
Subject: greybus: connection: silence warning on unbound protocols
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=52fa38327b39f1d307447023a8eea1f7b7ca0039;p=linux.git

greybus: connection: silence warning on unbound protocols

If a protocol was not successfully created, we can't drop the refcount
on it. This might happen for example if the connection fails to bind a
protocol.

Silences a warning on cleanup.

Signed-off-by: Perry Hung <perry@leaflabs.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
---

diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c
index 0cd716d58a3aa..c57deb2053ac5 100644
--- a/drivers/staging/greybus/connection.c
+++ b/drivers/staging/greybus/connection.c
@@ -319,7 +319,8 @@ void gb_connection_destroy(struct gb_connection *connection)
 	list_del(&connection->hd_links);
 	spin_unlock_irq(&gb_connections_lock);
 
-	gb_protocol_put(connection->protocol);
+	if (connection->protocol)
+		gb_protocol_put(connection->protocol);
 	connection->protocol = NULL;
 
 	id_map = &connection->hd->cport_id_map;
diff --git a/drivers/staging/greybus/protocol.c b/drivers/staging/greybus/protocol.c
index 6aebbbd585e16..06b4841173ce1 100644
--- a/drivers/staging/greybus/protocol.c
+++ b/drivers/staging/greybus/protocol.c
@@ -196,9 +196,6 @@ void gb_protocol_put(struct gb_protocol *protocol)
 	u8 minor;
 	u8 protocol_count;
 
-	if (WARN_ON(!protocol))
-		return;
-
 	id = protocol->id;
 	major = protocol->major;
 	minor = protocol->minor;