RDMA/bnxt_re: Avoid system hang during device un-reg
authorSelvin Xavier <selvin.xavier@broadcom.com>
Fri, 16 Feb 2018 05:20:13 +0000 (21:20 -0800)
committerDoug Ledford <dledford@redhat.com>
Tue, 20 Feb 2018 16:59:47 +0000 (11:59 -0500)
commit7374fbd9e167ddc4f380d056ca74518be5d45518
tree6481dd80c9b23c758b48285cb462ce72e6909034
parentdcdaba08062b4726500b9456f8664bfda896c664
RDMA/bnxt_re: Avoid system hang during device un-reg

BNXT_RE_FLAG_TASK_IN_PROG doesn't handle multiple work
requests posted together. Track schedule of multiple
workqueue items by maintaining a per device counter
and proceed with IB dereg only if this counter is zero.
flush_workqueue is no longer required from
NETDEV_UNREGISTER path.

Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/bnxt_re/bnxt_re.h
drivers/infiniband/hw/bnxt_re/main.c