git: fdcb52d03688 - main - ofed/ipoib: convert to timer_setup linuxKPI

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Wed, 19 Aug 2026 23:17:18 UTC
The branch main has been updated by kib:

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

commit fdcb52d03688d92ba4962eea623292b0120e2293
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-08-19 02:14:00 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-08-19 23:16:53 +0000

    ofed/ipoib: convert to timer_setup linuxKPI
    
    Reviewed by:    bz
    Sponsored by:   NVidia networking
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D58941
---
 sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c
index d6683e45624d..a62785eb4b5f 100644
--- a/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c
+++ b/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c
@@ -608,9 +608,12 @@ static void ipoib_ah_dev_cleanup(struct ipoib_dev_priv *priv)
 	}
 }
 
-static void ipoib_ib_tx_timer_func(unsigned long ctx)
+static void ipoib_ib_tx_timer_func(struct timer_list *timer)
 {
-	drain_tx_cq((struct ipoib_dev_priv *)ctx);
+	struct ipoib_dev_priv *priv = timer_container_of(priv, timer,
+	    poll_timer);
+
+	drain_tx_cq(priv);
 }
 
 int ipoib_ib_dev_open(struct ipoib_dev_priv *priv)
@@ -866,8 +869,7 @@ int ipoib_ib_dev_init(struct ipoib_dev_priv *priv, struct ib_device *ca, int por
 		return -ENODEV;
 	}
 
-	setup_timer(&priv->poll_timer, ipoib_ib_tx_timer_func,
-		    (unsigned long) priv);
+	timer_setup(&priv->poll_timer, ipoib_ib_tx_timer_func, 0);
 
 	if (if_getflags(dev) & IFF_UP) {
 		if (ipoib_ib_dev_open(priv)) {