|
@@ -576,8 +576,8 @@ static int mlx4_ib_ipoib_csum_ok(__be16 status, __be16 checksum)
|
|
checksum == cpu_to_be16(0xffff);
|
|
checksum == cpu_to_be16(0xffff);
|
|
}
|
|
}
|
|
|
|
|
|
-static int use_tunnel_data(struct mlx4_ib_qp *qp, struct mlx4_ib_cq *cq, struct ib_wc *wc,
|
|
|
|
- unsigned tail, struct mlx4_cqe *cqe, int is_eth)
|
|
|
|
|
|
+static void use_tunnel_data(struct mlx4_ib_qp *qp, struct mlx4_ib_cq *cq, struct ib_wc *wc,
|
|
|
|
+ unsigned tail, struct mlx4_cqe *cqe, int is_eth)
|
|
{
|
|
{
|
|
struct mlx4_ib_proxy_sqp_hdr *hdr;
|
|
struct mlx4_ib_proxy_sqp_hdr *hdr;
|
|
|
|
|
|
@@ -600,8 +600,6 @@ static int use_tunnel_data(struct mlx4_ib_qp *qp, struct mlx4_ib_cq *cq, struct
|
|
wc->slid = be16_to_cpu(hdr->tun.slid_mac_47_32);
|
|
wc->slid = be16_to_cpu(hdr->tun.slid_mac_47_32);
|
|
wc->sl = (u8) (be16_to_cpu(hdr->tun.sl_vid) >> 12);
|
|
wc->sl = (u8) (be16_to_cpu(hdr->tun.sl_vid) >> 12);
|
|
}
|
|
}
|
|
-
|
|
|
|
- return 0;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
static void mlx4_ib_qp_sw_comp(struct mlx4_ib_qp *qp, int num_entries,
|
|
static void mlx4_ib_qp_sw_comp(struct mlx4_ib_qp *qp, int num_entries,
|
|
@@ -852,9 +850,11 @@ repoll:
|
|
if (mlx4_is_mfunc(to_mdev(cq->ibcq.device)->dev)) {
|
|
if (mlx4_is_mfunc(to_mdev(cq->ibcq.device)->dev)) {
|
|
if ((*cur_qp)->mlx4_ib_qp_type &
|
|
if ((*cur_qp)->mlx4_ib_qp_type &
|
|
(MLX4_IB_QPT_PROXY_SMI_OWNER |
|
|
(MLX4_IB_QPT_PROXY_SMI_OWNER |
|
|
- MLX4_IB_QPT_PROXY_SMI | MLX4_IB_QPT_PROXY_GSI))
|
|
|
|
- return use_tunnel_data(*cur_qp, cq, wc, tail,
|
|
|
|
- cqe, is_eth);
|
|
|
|
|
|
+ MLX4_IB_QPT_PROXY_SMI | MLX4_IB_QPT_PROXY_GSI)) {
|
|
|
|
+ use_tunnel_data(*cur_qp, cq, wc, tail, cqe,
|
|
|
|
+ is_eth);
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
wc->slid = be16_to_cpu(cqe->rlid);
|
|
wc->slid = be16_to_cpu(cqe->rlid);
|