mirror of
https://github.com/torvalds/linux.git
synced 2026-09-25 09:41:03 +02:00
RDMA/hfi1: Remove redundant NULL checks in create_workqueues()
create_workqueues() is called only from init_one(), immediately after hfi1_alloc_devdata() returns a zero-initialized hfi1_devdata. As a result, the per-port hfi1_wq and link_wq pointers are always NULL on entry, and nothing modifies them between allocation and this call. Link: https://patch.msgid.link/20260708-clean-init-one-hfi1-v1-9-b9e9641268a5@nvidia.com Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
This commit is contained in:
parent
9f674ba674
commit
22113f3f55
|
|
@ -738,31 +738,27 @@ static int create_workqueues(struct hfi1_devdata *dd)
|
|||
|
||||
for (pidx = 0; pidx < dd->num_pports; ++pidx) {
|
||||
ppd = dd->pport + pidx;
|
||||
if (!ppd->hfi1_wq) {
|
||||
ppd->hfi1_wq =
|
||||
alloc_workqueue(
|
||||
"hfi%d_%d",
|
||||
WQ_SYSFS | WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM |
|
||||
WQ_PERCPU,
|
||||
HFI1_MAX_ACTIVE_WORKQUEUE_ENTRIES,
|
||||
dd->unit, pidx);
|
||||
if (!ppd->hfi1_wq)
|
||||
goto wq_error;
|
||||
}
|
||||
if (!ppd->link_wq) {
|
||||
/*
|
||||
* Make the link workqueue single-threaded to enforce
|
||||
* serialization.
|
||||
*/
|
||||
ppd->link_wq =
|
||||
alloc_workqueue(
|
||||
"hfi_link_%d_%d",
|
||||
WQ_SYSFS | WQ_MEM_RECLAIM | WQ_UNBOUND,
|
||||
1, /* max_active */
|
||||
dd->unit, pidx);
|
||||
if (!ppd->link_wq)
|
||||
goto wq_error;
|
||||
}
|
||||
ppd->hfi1_wq =
|
||||
alloc_workqueue(
|
||||
"hfi%d_%d",
|
||||
WQ_SYSFS | WQ_HIGHPRI | WQ_CPU_INTENSIVE | WQ_MEM_RECLAIM |
|
||||
WQ_PERCPU,
|
||||
HFI1_MAX_ACTIVE_WORKQUEUE_ENTRIES,
|
||||
dd->unit, pidx);
|
||||
if (!ppd->hfi1_wq)
|
||||
goto wq_error;
|
||||
/*
|
||||
* Make the link workqueue single-threaded to enforce
|
||||
* serialization.
|
||||
*/
|
||||
ppd->link_wq =
|
||||
alloc_workqueue(
|
||||
"hfi_link_%d_%d",
|
||||
WQ_SYSFS | WQ_MEM_RECLAIM | WQ_UNBOUND,
|
||||
1, /* max_active */
|
||||
dd->unit, pidx);
|
||||
if (!ppd->link_wq)
|
||||
goto wq_error;
|
||||
}
|
||||
return 0;
|
||||
wq_error:
|
||||
|
|
@ -1658,14 +1654,8 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
for (pidx = 0; pidx < dd->num_pports; ++pidx) {
|
||||
hfi1_quiet_serdes(dd->pport + pidx);
|
||||
ppd = dd->pport + pidx;
|
||||
if (ppd->hfi1_wq) {
|
||||
destroy_workqueue(ppd->hfi1_wq);
|
||||
ppd->hfi1_wq = NULL;
|
||||
}
|
||||
if (ppd->link_wq) {
|
||||
destroy_workqueue(ppd->link_wq);
|
||||
ppd->link_wq = NULL;
|
||||
}
|
||||
destroy_workqueue(ppd->hfi1_wq);
|
||||
destroy_workqueue(ppd->link_wq);
|
||||
}
|
||||
if (!j)
|
||||
hfi1_device_remove(dd);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user