Bluetooth: Remove deprecated create_singlethread_workqueue
authorBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Tue, 30 Aug 2016 17:12:53 +0000 (22:42 +0530)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 19 Sep 2016 18:19:34 +0000 (20:19 +0200)
The workqueue "workqueue" queues multiple work items viz &qca->ws_awake_rx
&qca->ws_rx_vote_off, &qca->ws_awake_device, &qca->ws_tx_vote_off which
require strict execution ordering. Hence, an ordered dedicated workqueue
has been used to replace the deprecated create_singlethread_workqueue
instance.

WQ_MEM_RECLAIM has not been set since the driver is not being used on a
memory reclaim path.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_qca.c

index 683c2b6..6c867fb 100644 (file)
@@ -397,7 +397,7 @@ static int qca_open(struct hci_uart *hu)
        skb_queue_head_init(&qca->txq);
        skb_queue_head_init(&qca->tx_wait_q);
        spin_lock_init(&qca->hci_ibs_lock);
-       qca->workqueue = create_singlethread_workqueue("qca_wq");
+       qca->workqueue = alloc_ordered_workqueue("qca_wq", 0);
        if (!qca->workqueue) {
                BT_ERR("QCA Workqueue not initialized properly");
                kfree(qca);