IB/ipoib: Use cancel_delayed_work_sync when needed
authorErez Shitrit <erezsh@mellanox.com>
Wed, 12 Jul 2017 07:40:25 +0000 (10:40 +0300)
committerLeon Romanovsky <leon@kernel.org>
Sun, 23 Jul 2017 06:45:11 +0000 (09:45 +0300)
commit6bdc8de2e86e717124a715ecc480892a2c331ff5
treee5e845fac6d7fa870454577ec452267a66e2bae7
parentedf3f301db7af7e784d06f7059dfc8a69359af13
IB/ipoib: Use cancel_delayed_work_sync when needed

The work mcast_task can re-queue itself, so instead of doing
cancel && flush_workqueue, that still can leave a queued task
on the air, use cancel_delayed_work_sync.

Also, no need to use lock over the cancel, the original lock was
due to bit assignment setting (IPOIB_MCAST_RUN) that is not in use
anymore.

Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/ulp/ipoib/ipoib_multicast.c