From: Johan Hovold Date: Wed, 11 May 2016 08:18:05 +0000 (+0200) Subject: greybus: connection: add camera-data connected workaround X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3b05d8508f82fc18fe7ef0618671c0603c490c0d;p=linux-beck.git greybus: connection: add camera-data connected workaround Firmware currently lacks a representation of the offloaded CDSI connections and connected requests sent for these ports therefore fails. Add a temporary work-around until this has been resolved in firmware. Signed-off-by: Johan Hovold Reviewed-by: Viresh Kumar Reviewed-by: Laurent Pinchart Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c index 395a9dfc99c0..f803d40413ac 100644 --- a/drivers/staging/greybus/connection.c +++ b/drivers/staging/greybus/connection.c @@ -402,6 +402,16 @@ static int gb_connection_control_connected(struct gb_connection *connection) if (gb_connection_is_static(connection)) return 0; + /* + * HACK: Suppress connected request for the offloaded camera + * connection as it is currently not supported by firmware. Note that + * the corresponding non-fatal disconnected event is still sent. + */ + if (gb_connection_is_offloaded(connection) && + connection->flags & GB_CONNECTION_FLAG_CDSI1) { + return 0; + } + control = connection->intf->control; if (connection == control->connection)