Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd25997d authored by Bhaktipriya Shridhar's avatar Bhaktipriya Shridhar Committed by David S. Miller
Browse files

dwc_eth_qos: Remove deprecated create_singlethread_workqueue



alloc_workqueue replaces deprecated create_singlethread_workqueue().

A dedicated workqueue has been used since the workitem viz
lp->txtimeout_reinit is involved in reinitialization if a TX timeout
occurs, which is necessary to guarantee forward progress in packet
processing. As a network device can be used during memory reclaim, the
workqueue needs forward progress guarantee under memory pressure.
WQ_MEM_RECLAIM has been set to ensure this.

Since there is only a single work item, explicit concurrency limit is
unnecessary here.

Signed-off-by: default avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 858d68f1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2910,7 +2910,8 @@ static int dwceqos_probe(struct platform_device *pdev)
		     (unsigned long)ndev);
	tasklet_disable(&lp->tx_bdreclaim_tasklet);

	lp->txtimeout_handler_wq = create_singlethread_workqueue(DRIVER_NAME);
	lp->txtimeout_handler_wq = alloc_workqueue(DRIVER_NAME,
						   WQ_MEM_RECLAIM, 0);
	INIT_WORK(&lp->txtimeout_reinit, dwceqos_reinit_for_txtimeout);

	platform_set_drvdata(pdev, ndev);