mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 12:33:18 -04:00
greybus: pass gfp_flags for message allocation
The only reason gb_operation_message_init() gets its "outbound" argument is so we can determine what allocation flags to use. Just pass the flags in directly instead. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1f764af77c
commit
de80073a17
@@ -230,13 +230,12 @@ static void operation_timeout(struct work_struct *work)
|
||||
*/
|
||||
static int gb_operation_message_init(struct gb_operation *operation,
|
||||
u8 type, size_t size,
|
||||
bool request, bool outbound)
|
||||
bool request, gfp_t gfp_flags)
|
||||
{
|
||||
struct gb_connection *connection = operation->connection;
|
||||
struct greybus_host_device *hd = connection->hd;
|
||||
struct gb_message *message;
|
||||
struct gb_operation_msg_hdr *header;
|
||||
gfp_t gfp_flags = request && !outbound ? GFP_ATOMIC : GFP_KERNEL;
|
||||
|
||||
if (size > GB_OPERATION_MESSAGE_SIZE_MAX)
|
||||
return -E2BIG;
|
||||
@@ -311,13 +310,13 @@ struct gb_operation *gb_operation_create(struct gb_connection *connection,
|
||||
operation->connection = connection;
|
||||
|
||||
ret = gb_operation_message_init(operation, type, request_size,
|
||||
true, outgoing);
|
||||
true, gfp_flags);
|
||||
if (ret)
|
||||
goto err_cache;
|
||||
|
||||
if (outgoing) {
|
||||
ret = gb_operation_message_init(operation, type, response_size,
|
||||
false, false);
|
||||
false, GFP_KERNEL);
|
||||
if (ret)
|
||||
goto err_request;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user