IB/hfi1: Wakeup QPs orphaned on wait list after flush
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Fri, 14 Jun 2019 16:32:50 +0000 (12:32 -0400)
committerDoug Ledford <dledford@redhat.com>
Tue, 18 Jun 2019 01:15:40 +0000 (21:15 -0400)
commitf972775b1cc0441ae22c9f8d06dd16b118463632
tree4c5d0e33b6fded1d1cb5526962b861595208d06b
parent4bb02e9572af1383038d83ad196d7166c515f2ee
IB/hfi1: Wakeup QPs orphaned on wait list after flush

Once an SDMA engine is taken down due to a link failure, any waiting QPs
that do not have outstanding descriptors in the ring will stay
on the dmawait list as long as the port is down.

Since there is no timer running, they will stay there for a long time.

The fix is to wake up all iowaits linked to dmawait. The send engine
will build and post packets that get flushed back.

Fixes: 7724105686e7 ("IB/hfi1: add driver files")
Reviewed-by: Kaike Wan <kaike.wan@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hfi1/sdma.c