diff options
Diffstat (limited to 'drivers/message/fusion')
-rw-r--r-- | drivers/message/fusion/mptbase.c | 7 | ||||
-rw-r--r-- | drivers/message/fusion/mptfc.c | 7 |
2 files changed, 9 insertions, 5 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 5537f8df8512..89c7ed16b4df 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -1865,8 +1865,8 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id) snprintf(ioc->reset_work_q_name, MPT_KOBJ_NAME_LEN, "mpt_poll_%d", ioc->id); - ioc->reset_work_q = - create_singlethread_workqueue(ioc->reset_work_q_name); + ioc->reset_work_q = alloc_workqueue(ioc->reset_work_q_name, + WQ_MEM_RECLAIM, 0); if (!ioc->reset_work_q) { printk(MYIOC_s_ERR_FMT "Insufficient memory to add adapter!\n", ioc->name); @@ -1992,7 +1992,8 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id) INIT_LIST_HEAD(&ioc->fw_event_list); spin_lock_init(&ioc->fw_event_lock); snprintf(ioc->fw_event_q_name, MPT_KOBJ_NAME_LEN, "mpt/%d", ioc->id); - ioc->fw_event_q = create_singlethread_workqueue(ioc->fw_event_q_name); + ioc->fw_event_q = alloc_workqueue(ioc->fw_event_q_name, + WQ_MEM_RECLAIM, 0); if (!ioc->fw_event_q) { printk(MYIOC_s_ERR_FMT "Insufficient memory to add adapter!\n", ioc->name); diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c index d8bf84aef602..add6a3a6ef0d 100644 --- a/drivers/message/fusion/mptfc.c +++ b/drivers/message/fusion/mptfc.c @@ -1324,9 +1324,12 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id) snprintf(ioc->fc_rescan_work_q_name, sizeof(ioc->fc_rescan_work_q_name), "mptfc_wq_%d", sh->host_no); ioc->fc_rescan_work_q = - create_singlethread_workqueue(ioc->fc_rescan_work_q_name); - if (!ioc->fc_rescan_work_q) + alloc_ordered_workqueue(ioc->fc_rescan_work_q_name, + WQ_MEM_RECLAIM); + if (!ioc->fc_rescan_work_q) { + error = -ENOMEM; goto out_mptfc_probe; + } /* * Pre-fetch FC port WWN and stuff... |