On Mon, Jun 08, 2015 at 05:12:13PM +0300, Matan Barak wrote:

> +static struct net_device *mlx4_ib_get_netdev(struct ib_device *device, u8 
> port_num)
> +{

This function is never referenced in this patch, so we get compile
warnings?

Warnings are not a huge deal, but you did compile test every patch in
the series??

> +     if (mlx4_is_bonded(ibdev->dev)) {
> +             struct net_device *dev;
> +             struct net_device *upper = NULL;

So, I see this code in mlx4 touching bonding, but I don't see similar
code in ocrdma..

If bonding is a general feature why is this bit in the driver? Should
the core code be doing this?

Does bonding work in ocrdma at the end of this series? I was expecting
it to..

> +     gid_tbl = mailbox->buf;
> +
> +     for (i = 0; i < MLX4_MAX_PORT_GIDS; ++i)
> +             memcpy(&gid_tbl[i], &gids[i].gid, sizeof(union ib_gid));
> +
> +     err = mlx4_cmd(dev, mailbox->dma,
> +                    MLX4_SET_PORT_GID_TABLE << 8 | port_num,
> +                    1, MLX4_CMD_SET_PORT, MLX4_CMD_TIME_CLASS_B,
> +                    MLX4_CMD_WRAPPED);
> +     if (mlx4_is_bonded(dev))
> +             err += mlx4_cmd(dev, mailbox->dma,
> +                             MLX4_SET_PORT_GID_TABLE << 8 | 2,
> +                             1, MLX4_CMD_SET_PORT, MLX4_CMD_TIME_CLASS_B,
> +                             MLX4_CMD_WRAPPED);

Again, wonder why the driver is sensitive to bonding, and ocrdma is not..

> @@ -477,11 +673,22 @@ out:
>  static int iboe_query_gid(struct ib_device *ibdev, u8 port, int index,
>                         union ib_gid *gid)
>  {
> -     struct mlx4_ib_dev *dev = to_mdev(ibdev);
> +     int ret;
>  
> -     *gid = dev->iboe.gid_table[port - 1][index];
> +     if (!rdma_cap_roce_gid_table(ibdev, port)) {
> +             struct mlx4_ib_dev *dev = to_mdev(ibdev);
>  
> -     return 0;
> +             *gid = dev->iboe.gid_table[port - 1][index];
> +             return 0;
> +     }
> +
> +     ret = ib_get_cached_gid(ibdev, port, index, gid);
> +     if (ret == -EAGAIN) {
> +             memcpy(gid, &zgid, sizeof(*gid));
> +             return 0;
> +     }
> +
> +     return ret;
>  }

Hum, is it Ok to change iboe_query_gid like this at this point in the
series? Should this be in patch 11?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to