greybus: es2: allow ARPC result to be ignored
authorJohan Hovold <johan@hovoldconsulting.com>
Wed, 3 Aug 2016 12:09:33 +0000 (14:09 +0200)
committerGreg Kroah-Hartman <gregkh@google.com>
Wed, 3 Aug 2016 13:42:38 +0000 (15:42 +0200)
Allow user of ARPC to pass a NULL pointer for the ARPC result.

For simple requests there may only be one error code for remote errors,
or the caller may simply not care to differentiate them.

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

index c31124d..8d0e52d 100644 (file)
@@ -1184,7 +1184,8 @@ static int arpc_sync(struct es2_ap_dev *es2, u8 type, void *payload,
        unsigned long flags;
        int retval;
 
-       *result = 0;
+       if (result)
+               *result = 0;
 
        rpc = arpc_alloc(payload, size, type);
        if (!rpc)
@@ -1209,7 +1210,8 @@ static int arpc_sync(struct es2_ap_dev *es2, u8 type, void *payload,
 
        if (rpc->resp->result) {
                retval = -EREMOTEIO;
-               *result = rpc->resp->result;
+               if (result)
+                       *result = rpc->resp->result;
        } else {
                retval = 0;
        }