git: 8a06ca2f734c - main - Fix mismerge in OFED update

Ryan Stone rstone at FreeBSD.org
Thu Feb 4 18:58:31 UTC 2021


The branch main has been updated by rstone:

URL: https://cgit.FreeBSD.org/src/commit/?id=8a06ca2f734c726799688d65a7dad67284275438

commit 8a06ca2f734c726799688d65a7dad67284275438
Author:     Ryan Stone <rstone at FreeBSD.org>
AuthorDate: 2021-01-29 20:48:50 +0000
Commit:     Ryan Stone <rstone at FreeBSD.org>
CommitDate: 2021-02-04 18:58:24 +0000

    Fix mismerge in OFED update
    
    When OFED was upgraded to Linux v4.9, a bunch of Linux-specific
    netlink changes were dropped.  Unfortunately, there was a mismerge
    in this process and as a result ib_sa_cancel_query() would fail to
    cancel an outstanding MAD.
    
    This was causing rdma_destroy_id() to hang indefinitely waiting
    for the MAD to complete and release the final reference.
    
    Sponsored by: Dell Inc.
    Differential Revision:  https://reviews.freebsd.org/D28421
    Reviewed by: hselasky, kib
    MFC after: 2 months
---
 sys/ofed/drivers/infiniband/core/ib_sa_query.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/ofed/drivers/infiniband/core/ib_sa_query.c b/sys/ofed/drivers/infiniband/core/ib_sa_query.c
index cd3ffe667716..2b19e42020d2 100644
--- a/sys/ofed/drivers/infiniband/core/ib_sa_query.c
+++ b/sys/ofed/drivers/infiniband/core/ib_sa_query.c
@@ -622,6 +622,8 @@ void ib_sa_cancel_query(int id, struct ib_sa_query *query)
 	agent = query->port->agent;
 	mad_buf = query->mad_buf;
 	spin_unlock_irqrestore(&idr_lock, flags);
+
+	ib_cancel_mad(agent, mad_buf);
 }
 EXPORT_SYMBOL(ib_sa_cancel_query);
 


More information about the dev-commits-src-main mailing list