1219820SjeffAs in libmthca, need to initialize SRQ WQE scatter entries to the
2219820Sjeffinvalid lkey at work queue creation time.
3219820Sjeff
4219820SjeffSigned-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
5219820Sjeff
6219820SjeffIndex: libmlx4/src/srq.c
7219820Sjeff===================================================================
8219820Sjeff--- libmlx4.orig/src/srq.c	2009-12-09 15:08:52.000000000 +0200
9219820Sjeff+++ libmlx4/src/srq.c	2009-12-09 18:44:32.000000000 +0200
10219820Sjeff@@ -128,6 +128,7 @@ int mlx4_alloc_srq_buf(struct ibv_pd *pd
11219820Sjeff 		       struct mlx4_srq *srq)
12219820Sjeff {
13219820Sjeff 	struct mlx4_wqe_srq_next_seg *next;
14219820Sjeff+	struct mlx4_wqe_data_seg *scatter;
15219820Sjeff 	int size;
16219820Sjeff 	int buf_size;
17219820Sjeff 	int i;
18219820Sjeff@@ -160,6 +161,11 @@ int mlx4_alloc_srq_buf(struct ibv_pd *pd
19219820Sjeff 	for (i = 0; i < srq->max; ++i) {
20219820Sjeff 		next = get_wqe(srq, i);
21219820Sjeff 		next->next_wqe_index = htons((i + 1) & (srq->max - 1));
22219820Sjeff+
23219820Sjeff+		for (scatter = (void *) (next + 1);
24219820Sjeff+		     (void *) scatter < (void *) next + (1 << srq->wqe_shift);
25219820Sjeff+		     ++scatter)
26219820Sjeff+			scatter->lkey = htonl(MLX4_INVALID_LKEY);
27219820Sjeff 	}
28219820Sjeff 
29219820Sjeff 	srq->head = 0;
30