]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/mlx4/en_cq.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
[karo-tx-linux.git] / drivers / net / mlx4 / en_cq.c
index 674f836e225b98ede4b6c1a4412b894722eb7064..91f50de84be9053422699e0856e6d6f003508ba7 100644 (file)
@@ -71,6 +71,8 @@ int mlx4_en_create_cq(struct mlx4_en_priv *priv,
        err = mlx4_en_map_buffer(&cq->wqres.buf);
        if (err)
                mlx4_free_hwq_res(mdev->dev, &cq->wqres, cq->buf_size);
+       else
+               cq->buf = (struct mlx4_cqe *) cq->wqres.buf.direct.buf;
 
        return err;
 }
@@ -85,7 +87,6 @@ int mlx4_en_activate_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
        cq->mcq.arm_db     = cq->wqres.db.db + 1;
        *cq->mcq.set_ci_db = 0;
        *cq->mcq.arm_db    = 0;
-       cq->buf = (struct mlx4_cqe *) cq->wqres.buf.direct.buf;
        memset(cq->buf, 0, cq->buf_size);
 
        err = mlx4_cq_alloc(mdev->dev, cq->size, &cq->wqres.mtt, &mdev->priv_uar,
@@ -139,7 +140,6 @@ int mlx4_en_set_cq_moder(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
 
 int mlx4_en_arm_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
 {
-       cq->armed = 1;
        mlx4_cq_arm(&cq->mcq, MLX4_CQ_DB_REQ_NOT, priv->mdev->uar_map,
                    &priv->mdev->uar_lock);