diff options
-rw-r--r-- | drivers/staging/greybus/svc.c | 22 | ||||
-rw-r--r-- | drivers/staging/greybus/svc.h | 4 |
2 files changed, 16 insertions, 10 deletions
diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c index 42b89ee9e094..e56cb187786f 100644 --- a/drivers/staging/greybus/svc.c +++ b/drivers/staging/greybus/svc.c @@ -125,19 +125,26 @@ static int connection_create_operation(struct gb_svc *svc, &request, sizeof(request), NULL, 0); } -static int connection_destroy_operation(struct gb_svc *svc, +static void connection_destroy_operation(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, u8 intf2_id, u16 cport2_id) { struct gb_svc_conn_destroy_request request; + struct gb_connection *connection = svc->connection; + int ret; request.intf1_id = intf1_id; request.cport1_id = cport1_id; request.intf2_id = intf2_id; request.cport2_id = cport2_id; - return gb_operation_sync(svc->connection, GB_SVC_TYPE_CONN_DESTROY, - &request, sizeof(request), NULL, 0); + ret = gb_operation_sync(connection, GB_SVC_TYPE_CONN_DESTROY, + &request, sizeof(request), NULL, 0); + if (ret) { + dev_err(&connection->dev, + "failed to destroy connection (%hhx:%hx %hhx:%hx) %d\n", + intf1_id, cport1_id, intf2_id, cport2_id, ret); + } } static int route_create_operation(struct gb_svc *svc, u8 intf1_id, u8 dev1_id, @@ -175,12 +182,11 @@ int gb_svc_connection_create(struct gb_svc *svc, } EXPORT_SYMBOL_GPL(gb_svc_connection_create); -int gb_svc_connection_destroy(struct gb_svc *svc, - u8 intf1_id, u16 cport1_id, - u8 intf2_id, u16 cport2_id) +void gb_svc_connection_destroy(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, + u8 intf2_id, u16 cport2_id) { - return connection_destroy_operation(svc, intf1_id, cport1_id, - intf2_id, cport2_id); + connection_destroy_operation(svc, intf1_id, cport1_id, intf2_id, + cport2_id); } EXPORT_SYMBOL_GPL(gb_svc_connection_destroy); diff --git a/drivers/staging/greybus/svc.h b/drivers/staging/greybus/svc.h index ee39479cf9b2..dae4a08bd463 100644 --- a/drivers/staging/greybus/svc.h +++ b/drivers/staging/greybus/svc.h @@ -16,8 +16,8 @@ int gb_svc_intf_device_id(struct gb_svc *svc, u8 intf_id, u8 device_id); int gb_svc_intf_reset(struct gb_svc *svc, u8 intf_id); int gb_svc_connection_create(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, u8 intf2_id, u16 cport2_id); -int gb_svc_connection_destroy(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, - u8 intf2_id, u16 cport2_id); +void gb_svc_connection_destroy(struct gb_svc *svc, u8 intf1_id, u16 cport1_id, + u8 intf2_id, u16 cport2_id); int gb_svc_protocol_init(void); void gb_svc_protocol_exit(void); |