net: pegasus: Remove deprecated create_singlethread_workqueue
authorBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Tue, 30 Aug 2016 16:32:47 +0000 (22:02 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Sep 2016 23:42:25 +0000 (16:42 -0700)
The workqueue "pegasus_workqueue" queues a single work item per pegasus
instance and hence it doesn't require execution ordering. Hence,
alloc_workqueue has been used to replace the deprecated
create_singlethread_workqueue instance.

The WQ_MEM_RECLAIM flag has been set to ensure forward progress under
memory pressure since it's a network driver.

Since there are fixed number of work items, explicit concurrency
limit is unnecessary here.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Petko Manolov <petkan@mip-labs.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/pegasus.c

index 9bbe016..1434e5d 100644 (file)
@@ -1129,7 +1129,8 @@ static int pegasus_probe(struct usb_interface *intf,
                return -ENODEV;
 
        if (pegasus_count == 0) {
-               pegasus_workqueue = create_singlethread_workqueue("pegasus");
+               pegasus_workqueue = alloc_workqueue("pegasus", WQ_MEM_RECLAIM,
+                                                   0);
                if (!pegasus_workqueue)
                        return -ENOMEM;
        }