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)