]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[infiniband] Use a one-shot process for CMRC shutdown
authorMichael Brown <mcb30@ipxe.org>
Fri, 24 Jun 2011 16:21:52 +0000 (17:21 +0100)
committerMichael Brown <mcb30@ipxe.org>
Tue, 28 Jun 2011 13:45:11 +0000 (14:45 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/net/infiniband/ib_cmrc.c

index 972a60cf97288dc33325b81d7b5ac03ec0fedccd..369e2e906e5092855697a3a05ef698b4341fd20a 100644 (file)
@@ -117,9 +117,6 @@ static void ib_cmrc_shutdown ( struct ib_cmrc_connection *cmrc ) {
        ib_destroy_cq ( cmrc->ibdev, cmrc->cq );
        ib_close ( cmrc->ibdev );
 
-       /* Remove process from run queue */
-       process_del ( &cmrc->shutdown );
-
        /* Drop the remaining reference */
        ref_put ( &cmrc->refcnt );
 }
@@ -363,7 +360,8 @@ static struct interface_descriptor ib_cmrc_xfer_desc =
 
 /** CMRC shutdown process descriptor */
 static struct process_descriptor ib_cmrc_shutdown_desc =
-       PROC_DESC ( struct ib_cmrc_connection, shutdown, ib_cmrc_shutdown );
+       PROC_DESC_ONCE ( struct ib_cmrc_connection, shutdown,
+                        ib_cmrc_shutdown );
 
 /**
  * Open CMRC connection