|
@@ -1280,7 +1280,8 @@ static int _mlx4_ib_destroy_qp(struct ib_qp *qp)
|
|
if (is_qp0(dev, mqp))
|
|
if (is_qp0(dev, mqp))
|
|
mlx4_CLOSE_PORT(dev->dev, mqp->port);
|
|
mlx4_CLOSE_PORT(dev->dev, mqp->port);
|
|
|
|
|
|
- if (dev->qp1_proxy[mqp->port - 1] == mqp) {
|
|
|
|
|
|
+ if (mqp->mlx4_ib_qp_type == MLX4_IB_QPT_PROXY_GSI &&
|
|
|
|
+ dev->qp1_proxy[mqp->port - 1] == mqp) {
|
|
mutex_lock(&dev->qp1_proxy_lock[mqp->port - 1]);
|
|
mutex_lock(&dev->qp1_proxy_lock[mqp->port - 1]);
|
|
dev->qp1_proxy[mqp->port - 1] = NULL;
|
|
dev->qp1_proxy[mqp->port - 1] = NULL;
|
|
mutex_unlock(&dev->qp1_proxy_lock[mqp->port - 1]);
|
|
mutex_unlock(&dev->qp1_proxy_lock[mqp->port - 1]);
|