compat-drivers: use backport for second workqueue
authorHauke Mehrtens <hauke@hauke-m.de>
Thu, 24 Jan 2013 23:22:51 +0000 (00:22 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 25 Jan 2013 00:08:01 +0000 (01:08 +0100)
bluetooth hci_core uses a second workqueue.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
patches/collateral-evolutions/network/46-use_other_workqueue.patch

index 765fc4e43c683f3653751ded1bc3a443070c8e3a..b342ddd5fbdb4630fc75d616394d23b0e7afbe05 100644 (file)
@@ -4,7 +4,7 @@ position before.
 
 --- a/net/bluetooth/hci_core.c
 +++ b/net/bluetooth/hci_core.c
-@@ -1793,8 +1793,12 @@ int hci_register_dev(struct hci_dev *hde
+@@ -1793,16 +1793,24 @@ int hci_register_dev(struct hci_dev *hde
        list_add(&hdev->list, &hci_dev_list);
        write_unlock(&hci_dev_list_lock);
  
@@ -17,3 +17,15 @@ position before.
        if (!hdev->workqueue) {
                error = -ENOMEM;
                goto err;
+       }
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
+       hdev->req_workqueue = alloc_workqueue(hdev->name,
+                                             WQ_HIGHPRI | WQ_UNBOUND |
+                                             WQ_MEM_RECLAIM, 1);
++#else
++      hdev->req_workqueue = create_singlethread_workqueue(hdev->name);
++#endif
+       if (!hdev->req_workqueue) {
+               destroy_workqueue(hdev->workqueue);
+               error = -ENOMEM;