Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Apr 2016 11:29:53 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r298779 - stable/10/sys/ofed/drivers/infiniband/ulp/ipoib
Message-ID:  <201604291129.u3TBTr7t043411@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Fri Apr 29 11:29:52 2016
New Revision: 298779
URL: https://svnweb.freebsd.org/changeset/base/298779

Log:
  MFC r298458:
  Add missing set of the current VNET when inputting IP packets in IPoIB.
  
  This fixes a kernel panic when using IPoIB with VIMAGE and infiniband.
  
  PR:		208957
  Sponsored by:	Mellanox Technologies
  Tested by:	Justin Clift <justin@postgresql.org>

Modified:
  stable/10/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c
==============================================================================
--- stable/10/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c	Fri Apr 29 11:18:48 2016	(r298778)
+++ stable/10/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c	Fri Apr 29 11:29:52 2016	(r298779)
@@ -481,6 +481,8 @@ void ipoib_cm_handle_rx_wc(struct ipoib_
 	int has_srq;
 	u_short proto;
 
+	CURVNET_SET_QUIET(dev->if_vnet);
+
 	ipoib_dbg_data(priv, "cm recv completion: id %d, status: %d\n",
 		       wr_id, wc->status);
 
@@ -496,7 +498,7 @@ void ipoib_cm_handle_rx_wc(struct ipoib_
 		} else
 			ipoib_warn(priv, "cm recv completion event with wrid %d (> %d)\n",
 				   wr_id, ipoib_recvq_size);
-		return;
+		goto done;
 	}
 
 	p = wc->qp->qp_context;
@@ -520,7 +522,7 @@ void ipoib_cm_handle_rx_wc(struct ipoib_
 				queue_work(ipoib_workqueue, &priv->cm.rx_reap_task);
 				spin_unlock(&priv->lock);
 			}
-			return;
+			goto done;
 		}
 	}
 
@@ -579,6 +581,9 @@ repost:
 				   "for buf %d\n", wr_id);
 		}
 	}
+done:
+	CURVNET_RESTORE();
+	return;
 }
 
 static inline int post_send(struct ipoib_dev_priv *priv,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604291129.u3TBTr7t043411>