瀏覽代碼

[infiniband] Improve ib_packet debugging messages

tags/v0.9.8
Michael Brown 15 年之前
父節點
當前提交
0582a84e66
共有 1 個文件被更改,包括 15 次插入7 次删除
  1. 15
    7
      src/net/infiniband/ib_packet.c

+ 15
- 7
src/net/infiniband/ib_packet.c 查看文件

@@ -213,15 +213,23 @@ int ib_pull ( struct ib_device *ibdev, struct io_buffer *iobuf,
213 213
 	/* Determine destination QP, if applicable */
214 214
 	if ( qp ) {
215 215
 		if ( IB_LID_MULTICAST ( lid ) && grh ) {
216
-			*qp = ib_find_qp_mgid ( ibdev, &grh->dgid );
216
+			if ( ! ( *qp = ib_find_qp_mgid ( ibdev, &grh->dgid ))){
217
+				DBGC ( ibdev, "IBDEV %p RX for unknown MGID "
218
+				       "%08x:%08x:%08x:%08x\n", ibdev,
219
+				       ntohl ( grh->dgid.u.dwords[0] ),
220
+				       ntohl ( grh->dgid.u.dwords[1] ),
221
+				       ntohl ( grh->dgid.u.dwords[2] ),
222
+				       ntohl ( grh->dgid.u.dwords[3] ) );
223
+				return -ENODEV;
224
+			}
217 225
 		} else {
218
-			*qp = ib_find_qp_qpn ( ibdev, qpn );
219
-		}
220
-		if ( ! *qp ) {
221
-			DBGC ( ibdev, "IBDEV %p RX for nonexistent QP\n",
222
-			       ibdev );
223
-			return -ENODEV;
226
+			if ( ! ( *qp = ib_find_qp_qpn ( ibdev, qpn ) ) ) {
227
+				DBGC ( ibdev, "IBDEV %p RX for nonexistent "
228
+				       "QPN %lx\n", ibdev, qpn );
229
+				return -ENODEV;
230
+			}
224 231
 		}
232
+		assert ( *qp );
225 233
 	}
226 234
 
227 235
 	DBGC2 ( ibdev, "IBDEV %p RX %04x:%08lx <= %04x:%08lx (key %08x)\n",

Loading…
取消
儲存