alloc_ordered_workqueue replaces the deprecated
create_singlethread_workqueue.

The workqueue "workqueue" has multiple workitems which may require
ordering. Hence, a dedicated ordered workqueue has been used.
Since the workqueue is not being used on a memory reclaim path,
WQ_MEM_RECLAIM has not been set.

Can the workitems run concurrently? Is the ordering among work items necessary?

Thanks.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriy...@gmail.com>
---
 drivers/usb/host/whci/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/host/whci/init.c b/drivers/usb/host/whci/init.c
index e363723..ad8eb57 100644
--- a/drivers/usb/host/whci/init.c
+++ b/drivers/usb/host/whci/init.c
@@ -65,7 +65,7 @@ int whc_init(struct whc *whc)
        init_waitqueue_head(&whc->cmd_wq);
        init_waitqueue_head(&whc->async_list_wq);
        init_waitqueue_head(&whc->periodic_list_wq);
-       whc->workqueue = 
create_singlethread_workqueue(dev_name(&whc->umc->dev));
+       whc->workqueue = alloc_ordered_workqueue(dev_name(&whc->umc->dev), 0);
        if (whc->workqueue == NULL) {
                ret = -ENOMEM;
                goto error;
--
2.1.4

Reply via email to