diff options
author | Selvin Xavier <selvin.xavier@broadcom.com> | 2020-03-13 17:33:27 +0100 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2020-03-18 00:15:03 +0100 |
commit | 4e88cef11d1913d1875c7870df4facbd096a062b (patch) | |
tree | 4bca317dedeac99532fe9849e7dd8b04b2e9f101 /drivers | |
parent | RDMA/bnxt_re: Fix lifetimes in bnxt_re_task (diff) | |
download | linux-4e88cef11d1913d1875c7870df4facbd096a062b.tar.xz linux-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')
-rw-r--r-- | drivers/infiniband/hw/bnxt_re/bnxt_re.h | 1 | ||||
-rw-r--r-- | drivers/infiniband/hw/bnxt_re/main.c | 8 |
2 files changed, 0 insertions, 9 deletions
diff --git a/drivers/infiniband/hw/bnxt_re/bnxt_re.h b/drivers/infiniband/hw/bnxt_re/bnxt_re.h index 407141ea0242..a300588634c5 100644 --- a/drivers/infiniband/hw/bnxt_re/bnxt_re.h +++ b/drivers/infiniband/hw/bnxt_re/bnxt_re.h @@ -176,7 +176,6 @@ struct bnxt_re_dev { atomic_t srq_count; atomic_t mr_count; atomic_t mw_count; - atomic_t sched_count; /* Max of 2 lossless traffic class supported per port */ u16 cosq[2]; 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); } } |