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);
 
 
 
        /* Wakeup Tx queue if this ring stopped it */
        if (unlikely(ring->blocked)) {
-               if (((u32) (ring->prod - ring->cons) <=
-                    ring->size - HEADROOM - MAX_DESC_TXBBS) && !cq->armed) {
+               if ((u32) (ring->prod - ring->cons) <=
+                    ring->size - HEADROOM - MAX_DESC_TXBBS) {
 
                        /* TODO: support multiqueue netdevs. Currently, we block
                         * when *any* ring is full. Note that:
        struct mlx4_en_priv *priv = netdev_priv(cq->dev);
        struct mlx4_en_tx_ring *ring = &priv->tx_ring[cq->ring];
 
-       cq->armed = 0;
        if (!spin_trylock(&ring->comp_lock))
                return;
        mlx4_en_process_tx_cq(cq->dev, cq);