Commit b6fd3aba authored by Amitoj Kaur Chawla's avatar Amitoj Kaur Chawla Committed by Marc Kleine-Budde

can: mcp251x: Replace create_freezable_workqueue with alloc_workqueue

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: default avatarAmitoj Kaur Chawla <amitoj1606@gmail.com>
Acked-by: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 056a7201
...@@ -961,7 +961,8 @@ static int mcp251x_open(struct net_device *net) ...@@ -961,7 +961,8 @@ static int mcp251x_open(struct net_device *net)
goto open_unlock; 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->tx_work, mcp251x_tx_work_handler);
INIT_WORK(&priv->restart_work, mcp251x_restart_work_handler); INIT_WORK(&priv->restart_work, mcp251x_restart_work_handler);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment