From e676ccd7134ae9e73d2f82446cef011a12f30e9b Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Wed, 9 Mar 2016 12:20:45 +0100 Subject: [PATCH] greybus: svc: print an error message on failed eject attempts Print an error message when the SVC fails to eject an interface. Signed-off-by: Johan Hovold Reviewed-by: Jeffrey Carlyle Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/svc.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c index 71b38794a95c..b9ef77097d36 100644 --- a/drivers/staging/greybus/svc.c +++ b/drivers/staging/greybus/svc.c @@ -131,6 +131,7 @@ EXPORT_SYMBOL_GPL(gb_svc_intf_reset); int gb_svc_intf_eject(struct gb_svc *svc, u8 intf_id) { struct gb_svc_intf_eject_request request; + int ret; request.intf_id = intf_id; @@ -138,10 +139,16 @@ int gb_svc_intf_eject(struct gb_svc *svc, u8 intf_id) * The pulse width for module release in svc is long so we need to * increase the timeout so the operation will not return to soon. */ - return gb_operation_sync_timeout(svc->connection, - GB_SVC_TYPE_INTF_EJECT, &request, - sizeof(request), NULL, 0, - GB_SVC_EJECT_TIME); + ret = gb_operation_sync_timeout(svc->connection, + GB_SVC_TYPE_INTF_EJECT, &request, + sizeof(request), NULL, 0, + GB_SVC_EJECT_TIME); + if (ret) { + dev_err(&svc->dev, "failed to eject interface %u\n", intf_id); + return ret; + } + + return 0; } int gb_svc_dme_peer_get(struct gb_svc *svc, u8 intf_id, u16 attr, u16 selector,