diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c index 0cd716d58a3a..c57deb2053ac 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 6aebbbd585e1..06b4841173ce 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;