[infiniband] Generate more specific errors in response to failure MADs
[people/peper/gpxe.git] / src / net / infiniband / ib_mcast.c
index c1d18d2..5cb395d 100644 (file)
@@ -86,6 +86,8 @@ static void ib_mcast_complete ( struct ib_device *ibdev,
        unsigned long qkey;
 
        /* Report failures */
+       if ( ( rc == 0 ) && ( mad->hdr.status != htons ( IB_MGMT_STATUS_OK ) ))
+               rc = -ENOTCONN;
        if ( rc != 0 ) {
                DBGC ( ibdev, "IBDEV %p QPN %lx join failed: %s\n",
                       ibdev, qp->qpn, strerror ( rc ) );