|
@@ -1547,14 +1547,13 @@ static void set_masked_atomic_seg(struct mlx4_wqe_masked_atomic_seg *aseg,
|
|
|
}
|
|
|
|
|
|
static void set_datagram_seg(struct mlx4_wqe_datagram_seg *dseg,
|
|
|
- struct ib_send_wr *wr, __be16 *vlan)
|
|
|
+ struct ib_send_wr *wr)
|
|
|
{
|
|
|
memcpy(dseg->av, &to_mah(wr->wr.ud.ah)->av, sizeof (struct mlx4_av));
|
|
|
dseg->dqpn = cpu_to_be32(wr->wr.ud.remote_qpn);
|
|
|
dseg->qkey = cpu_to_be32(wr->wr.ud.remote_qkey);
|
|
|
dseg->vlan = to_mah(wr->wr.ud.ah)->av.eth.vlan;
|
|
|
memcpy(dseg->mac, to_mah(wr->wr.ud.ah)->av.eth.mac, 6);
|
|
|
- *vlan = dseg->vlan;
|
|
|
}
|
|
|
|
|
|
static void set_mlx_icrc_seg(void *dseg)
|
|
@@ -1657,7 +1656,6 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
|
|
|
__be32 uninitialized_var(lso_hdr_sz);
|
|
|
__be32 blh;
|
|
|
int i;
|
|
|
- __be16 vlan = cpu_to_be16(0xffff);
|
|
|
|
|
|
spin_lock_irqsave(&qp->sq.lock, flags);
|
|
|
|
|
@@ -1761,7 +1759,7 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
|
|
|
break;
|
|
|
|
|
|
case IB_QPT_UD:
|
|
|
- set_datagram_seg(wqe, wr, &vlan);
|
|
|
+ set_datagram_seg(wqe, wr);
|
|
|
wqe += sizeof (struct mlx4_wqe_datagram_seg);
|
|
|
size += sizeof (struct mlx4_wqe_datagram_seg) / 16;
|
|
|
|
|
@@ -1824,11 +1822,6 @@ int mlx4_ib_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
|
|
|
ctrl->fence_size = (wr->send_flags & IB_SEND_FENCE ?
|
|
|
MLX4_WQE_CTRL_FENCE : 0) | size;
|
|
|
|
|
|
- if (be16_to_cpu(vlan) < 0x1000) {
|
|
|
- ctrl->ins_vlan = 1 << 6;
|
|
|
- ctrl->vlan_tag = vlan;
|
|
|
- }
|
|
|
-
|
|
|
/*
|
|
|
* Make sure descriptor is fully written before
|
|
|
* setting ownership bit (because HW can start
|