greybus: es2: always set result value
authorJohan Hovold <johan@hovoldconsulting.com>
Wed, 3 Aug 2016 12:09:32 +0000 (14:09 +0200)
committerGreg Kroah-Hartman <gregkh@google.com>
Wed, 3 Aug 2016 13:42:38 +0000 (15:42 +0200)
Make sure to always set the result value for ARPC instead of forcing
every caller to do it in order to avoid compiler warnings.

The ARPC result should still be ignored unless arpc_sync returns
-EREMOTEIO.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/es2.c

index 0850b59..c31124d 100644 (file)
@@ -611,7 +611,7 @@ static int cport_reset(struct gb_host_device *hd, u16 cport_id)
        struct usb_device *udev = es2->usb_dev;
        struct arpc_cport_reset_req req;
        int retval;
        struct usb_device *udev = es2->usb_dev;
        struct arpc_cport_reset_req req;
        int retval;
-       int result = 0;
+       int result;
 
        switch (cport_id) {
        case GB_SVC_CPORT_ID:
 
        switch (cport_id) {
        case GB_SVC_CPORT_ID:
@@ -1184,6 +1184,8 @@ static int arpc_sync(struct es2_ap_dev *es2, u8 type, void *payload,
        unsigned long flags;
        int retval;
 
        unsigned long flags;
        int retval;
 
+       *result = 0;
+
        rpc = arpc_alloc(payload, size, type);
        if (!rpc)
                return -ENOMEM;
        rpc = arpc_alloc(payload, size, type);
        if (!rpc)
                return -ENOMEM;
@@ -1205,11 +1207,12 @@ static int arpc_sync(struct es2_ap_dev *es2, u8 type, void *payload,
                goto out_arpc_del;
        }
 
                goto out_arpc_del;
        }
 
-       *result = rpc->resp->result;
-       if (*result)
+       if (rpc->resp->result) {
                retval = -EREMOTEIO;
                retval = -EREMOTEIO;
-       else
+               *result = rpc->resp->result;
+       } else {
                retval = 0;
                retval = 0;
+       }
 
 out_arpc_del:
        spin_lock_irqsave(&es2->arpc_lock, flags);
 
 out_arpc_del:
        spin_lock_irqsave(&es2->arpc_lock, flags);