In gb_operation_create_common(), a zero response size is still
being used to determine whether to use GFP_KERNEL or GFP_ATOMIC
when allocating a message.  Use the value of the "outgoing"
parameter to decide this instead.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
 {
        struct greybus_host_device *hd = connection->hd;
        struct gb_operation *operation;
-       gfp_t gfp_flags = response_size ? GFP_KERNEL : GFP_ATOMIC;
+       gfp_t gfp_flags = outgoing ? GFP_KERNEL : GFP_ATOMIC;
 
        operation = kmem_cache_zalloc(gb_operation_cache, gfp_flags);
        if (!operation)