Skip to content

Commit

Permalink
can: mcp251x: Replace create_freezable_workqueue with alloc_workqueue
Browse files Browse the repository at this point in the history
Replace scheduled to be removed create_freezable_workqueue with
alloc_workqueue.

priv->wq should be explicitly set as freezable to ensure it is frozen
in the suspend sequence and work items are drained so that no new work
item starts execution until thawed. Thus, use of WQ_FREEZABLE flag
here is required.

WQ_MEM_RECLAIM flag has been set here to ensure forward progress
regardless of memory pressure.

The order of execution is not important so set @max_active as 0.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
  • Loading branch information
Amitoj Kaur Chawla authored and Marc Kleine-Budde committed May 9, 2016
1 parent 056a720 commit b6fd3ab
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/net/can/spi/mcp251x.c
Original file line number Diff line number Diff line change
Expand Up @@ -961,7 +961,8 @@ static int mcp251x_open(struct net_device *net)
goto open_unlock;
}

priv->wq = create_freezable_workqueue("mcp251x_wq");
priv->wq = alloc_workqueue("mcp251x_wq", WQ_FREEZABLE | WQ_MEM_RECLAIM,
0);
INIT_WORK(&priv->tx_work, mcp251x_tx_work_handler);
INIT_WORK(&priv->restart_work, mcp251x_restart_work_handler);

Expand Down

0 comments on commit b6fd3ab

Please sign in to comment.