Procházet zdrojové kódy

[infiniband] Improve ib_packet debugging messages

tags/v0.9.8
Michael Brown před 15 roky
rodič
revize
0582a84e66
1 změnil soubory, kde provedl 15 přidání a 7 odebrání
  1. 15
    7
      src/net/infiniband/ib_packet.c

+ 15
- 7
src/net/infiniband/ib_packet.c Zobrazit soubor

@@ -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",

Načítá se…
Zrušit
Uložit