IB/ehca: Generate flush status CQ entries
authorAlexander Schmidt <alexs@linux.vnet.ibm.com>
Sun, 21 Sep 2008 03:05:21 +0000 (20:05 -0700)
committerRoland Dreier <rolandd@cisco.com>
Sun, 21 Sep 2008 03:05:21 +0000 (20:05 -0700)
commitb9012e0a4255c93e1d81f1ccee591de6414b5955
treef96df62a968eab98722256251914070fa7bb0c2c
parent9824b8f11373b0df806c135a342da9319ef1d893
IB/ehca: Generate flush status CQ entries

When a QP goes into error state, it is required that CQ entries with a
flush error status are delivered to the application for any
outstanding work requests.  eHCA does not do this in hardware, so this
patch adds software flush CQE generation to the ehca driver.

Whenever a QP gets into error state, it is added to the QP error list
of its respective CQ.  If the error QP list of a CQ is not empty,
poll_cq() generates flush CQEs before polling the actual CQ.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ehca/ehca_classes.h
drivers/infiniband/hw/ehca/ehca_cq.c
drivers/infiniband/hw/ehca/ehca_iverbs.h
drivers/infiniband/hw/ehca/ehca_qp.c
drivers/infiniband/hw/ehca/ehca_reqs.c