]> git.baikalelectronics.ru Git - kernel.git/commit
IB/hfi1: Fix PIO wakeup timing hole
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Mon, 7 Mar 2016 19:35:30 +0000 (11:35 -0800)
committerDoug Ledford <dledford@redhat.com>
Thu, 17 Mar 2016 19:55:20 +0000 (15:55 -0400)
commit8a2e3b965b13f6d11f76a79f1e049fe777ee34d2
tree06c4e9587bcdd2ce69d3efd7696b4ac30d83e71f
parent0f55d44a34a281784d4d10c56ac895f5da9dc8a3
IB/hfi1: Fix PIO wakeup timing hole

There is a timing hole if there had been greater than
PIO_WAIT_BATCH_SIZE waiters.  This code will dispatch the first
batch but leave the others in the queue.   If the restarted waiters
don't in turn wait on a buffer, there is a hang.

Fix by forcing a return when the QP queue is non-empty.

Reviewed-by: Vennila Megavannan <vennila.megavannan@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/staging/rdma/hfi1/pio.c