Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e44e0ee authored by Parav Pandit's avatar Parav Pandit Committed by Jason Gunthorpe
Browse files

IB/providers: Avoid null netdev check for RoCE



Now that IB core GID cache ensures that all RoCE entries have an
associated netdev remove null checks from the provider drivers for
clarity.

Reviewed-by: default avatarMark Bloch <markb@mellanox.com>
Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 14169e33
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -718,7 +718,6 @@ struct ib_ah *bnxt_re_create_ah(struct ib_pd *ib_pd,
				grh->sgid_index);
			goto fail;
		}
		if (sgid_attr.ndev)
		dev_put(sgid_attr.ndev);
		/* Get network header type for this GID */
		nw_type = ib_gid_to_network_type(sgid_attr.gid_type, &sgid);
@@ -1697,7 +1696,7 @@ int bnxt_re_modify_qp(struct ib_qp *ib_qp, struct ib_qp_attr *qp_attr,
		status = ib_get_cached_gid(&rdev->ibdev, 1,
					   grh->sgid_index,
					   &sgid, &sgid_attr);
		if (!status && sgid_attr.ndev) {
		if (!status) {
			memcpy(qp->qplib_qp.smac, sgid_attr.ndev->dev_addr,
			       ETH_ALEN);
			dev_put(sgid_attr.ndev);
+3 −5
Original line number Diff line number Diff line
@@ -68,11 +68,9 @@ struct ib_ah *hns_roce_create_ah(struct ib_pd *ibpd,
		return ERR_PTR(ret);
	}

	if (gid_attr.ndev) {
	if (is_vlan_dev(gid_attr.ndev))
		vlan_tag = vlan_dev_vlan_id(gid_attr.ndev);
	dev_put(gid_attr.ndev);
	}

	if (vlan_tag < 0x1000)
		vlan_tag |= (rdma_ah_get_sl(ah_attr) &
+4 −6
Original line number Diff line number Diff line
@@ -101,12 +101,10 @@ static struct ib_ah *create_iboe_ah(struct ib_pd *pd,
	if (ret)
		return ERR_PTR(ret);
	eth_zero_addr(ah->av.eth.s_mac);
	if (gid_attr.ndev) {
	if (is_vlan_dev(gid_attr.ndev))
		vlan_tag = vlan_dev_vlan_id(gid_attr.ndev);
	memcpy(ah->av.eth.s_mac, gid_attr.ndev->dev_addr, ETH_ALEN);
	dev_put(gid_attr.ndev);
	}
	if (vlan_tag < 0x1000)
		vlan_tag |= (rdma_ah_get_sl(ah_attr) & 7) << 13;
	ah->av.eth.port_pd = cpu_to_be32(to_mpd(pd)->pdn |
+1 −1
Original line number Diff line number Diff line
@@ -2370,7 +2370,7 @@ static int __mlx4_ib_modify_qp(void *src, enum mlx4_ib_source_type src_type,

			status = ib_get_cached_gid(&dev->ib_dev, port_num,
						   index, &gid, &gid_attr);
			if (!status && gid_attr.ndev) {
			if (!status) {
				vlan = rdma_vlan_dev_vlan_id(gid_attr.ndev);
				memcpy(smac, gid_attr.ndev->dev_addr, ETH_ALEN);
				dev_put(gid_attr.ndev);
+0 −6
Original line number Diff line number Diff line
@@ -525,9 +525,6 @@ __be16 mlx5_get_roce_udp_sport(struct mlx5_ib_dev *dev, u8 port_num,
	if (ib_get_cached_gid(&dev->ib_dev, port_num, index, &gid, &attr))
		return 0;

	if (!attr.ndev)
		return 0;

	dev_put(attr.ndev);

	if (attr.gid_type != IB_GID_TYPE_ROCE_UDP_ENCAP)
@@ -547,9 +544,6 @@ int mlx5_get_roce_gid_type(struct mlx5_ib_dev *dev, u8 port_num,
	if (ret)
		return ret;

	if (!attr.ndev)
		return -ENODEV;

	dev_put(attr.ndev);

	*gid_type = attr.gid_type;
Loading