aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/bnxt_re/main.c
diff options
context:
space:
mode:
authorSelvin Xavier <selvin.xavier@broadcom.com>2020-03-13 09:33:27 -0700
committerJason Gunthorpe <jgg@mellanox.com>2020-03-17 20:15:03 -0300
commit4e88cef11d1913d1875c7870df4facbd096a062b (patch)
tree4bca317dedeac99532fe9849e7dd8b04b2e9f101 /drivers/infiniband/hw/bnxt_re/main.c
parentRDMA/bnxt_re: Fix lifetimes in bnxt_re_task (diff)
downloadlinux-dev-4e88cef11d1913d1875c7870df4facbd096a062b.tar.xz
linux-dev-4e88cef11d1913d1875c7870df4facbd096a062b.zip
RDMA/bnxt_re: Remove unnecessary sched count
Since the lifetime of bnxt_re_task is controlled by the kref of device, sched_count is no longer required. Remove it. Link: https://lore.kernel.org/r/1584117207-2664-4-git-send-email-selvin.xavier@broadcom.com Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/hw/bnxt_re/main.c')
-rw-r--r--drivers/infiniband/hw/bnxt_re/main.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c
index c494e11c3fe3..4a8fb1ad74a8 100644
--- a/drivers/infiniband/hw/bnxt_re/main.c
+++ b/drivers/infiniband/hw/bnxt_re/main.c
@@ -1667,8 +1667,6 @@ static void bnxt_re_task(struct work_struct *work)
break;
}
ib_device_put(&rdev->ibdev);
- smp_mb__before_atomic();
- atomic_dec(&rdev->sched_count);
exit:
put_device(&rdev->ibdev.dev);
kfree(re_work);
@@ -1720,11 +1718,6 @@ static int bnxt_re_netdev_event(struct notifier_block *notifier,
break;
case NETDEV_UNREGISTER:
- /* netdev notifier will call NETDEV_UNREGISTER again later since
- * we are still holding the reference to the netdev
- */
- if (atomic_read(&rdev->sched_count) > 0)
- goto exit;
ib_unregister_device_queued(&rdev->ibdev);
break;
@@ -1742,7 +1735,6 @@ static int bnxt_re_netdev_event(struct notifier_block *notifier,
re_work->vlan_dev = (real_dev == netdev ?
NULL : netdev);
INIT_WORK(&re_work->work, bnxt_re_task);
- atomic_inc(&rdev->sched_count);
queue_work(bnxt_re_wq, &re_work->work);
}
}