Преглед на файлове

IB/mlx4: Check if SRQ is full when posting receive

Make mlx4_post_srq_recv() fail if the SRQ is full (head == tail).

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Roland Dreier преди 18 години
родител
ревизия
56a8c8b6ac
променени са 1 файла, в които са добавени 6 реда и са изтрити 0 реда
  1. 6 0
      drivers/infiniband/hw/mlx4/srq.c

+ 6 - 0
drivers/infiniband/hw/mlx4/srq.c

@@ -297,6 +297,12 @@ int mlx4_ib_post_srq_recv(struct ib_srq *ibsrq, struct ib_recv_wr *wr,
 			break;
 		}
 
+		if (unlikely(srq->head == srq->tail)) {
+			err = -ENOMEM;
+			*bad_wr = wr;
+			break;
+		}
+
 		srq->wrid[srq->head] = wr->wr_id;
 
 		next      = get_wqe(srq, srq->head);