From b4bd734ea60c4fd5a79c0e7fff4940686ff3cbc8 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Wed, 22 Jul 2015 17:49:17 +0200 Subject: [PATCH] greybus: operation: fix operation ordering Make the operation work queue single threaded. The operation work queue was meant to be single threaded, but due to a missing flag instead allowed one active task per CPU, something which could lead to requests being processed out of order on SMP systems. Signed-off-by: Johan Hovold Tested-by: Rui Miguel Silva Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/operation.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c index f2d12e8..e98fc65 100644 --- a/drivers/staging/greybus/operation.c +++ b/drivers/staging/greybus/operation.c @@ -1043,7 +1043,8 @@ int __init gb_operation_init(void) if (!gb_operation_cache) goto err_destroy_message_cache; - gb_operation_workqueue = alloc_workqueue("greybus_operation", 0, 1); + gb_operation_workqueue = alloc_workqueue("greybus_operation", + WQ_UNBOUND, 1); if (!gb_operation_workqueue) goto err_operation; -- 2.7.4