alloc_ordered_workqueue replaces the deprecated
create_singlethread_workqueue.

There are multiple work items on the work queue viz
&priv->dev3_register_work, &priv->recalib_wq, &psmouse->resync_work,
which require execution ordering. Hence, an ordered workqueue has been
used.

The workqueue is not being used on a memory reclaim path.
Hence, WQ_MEM_RECLAIM has not been set.

Signed-off-by: Bhaktipriya Shridhar <[email protected]>
---
 drivers/input/mouse/psmouse-base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/mouse/psmouse-base.c 
b/drivers/input/mouse/psmouse-base.c
index 5784e20..fb4b185 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -1916,7 +1916,7 @@ static int __init psmouse_init(void)
        synaptics_module_init();
        hgpk_module_init();

-       kpsmoused_wq = create_singlethread_workqueue("kpsmoused");
+       kpsmoused_wq = alloc_ordered_workqueue("kpsmoused", 0);
        if (!kpsmoused_wq) {
                pr_err("failed to create kpsmoused workqueue\n");
                return -ENOMEM;
--
2.1.4

Reply via email to