From: Amitoj Kaur Chawla Date: Fri, 8 Apr 2016 15:32:10 +0000 (+0530) Subject: can: mcp251x: Replace create_freezable_workqueue with alloc_workqueue X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b6fd3aba6041922e115bd8e10539b8545f4120ac;p=openwrt%2Fstaging%2Fblogic.git 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: Amitoj Kaur Chawla Acked-by: Tejun Heo Signed-off-by: Marc Kleine-Budde --- diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c index 74a7dfecee27..cf36d26ef002 100644 --- a/drivers/net/can/spi/mcp251x.c +++ b/drivers/net/can/spi/mcp251x.c @@ -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);