···753 struct mlx4_priv *priv = mlx4_priv(dev);754 int err;755 int port;0756757 err = mlx4_init_uar_table(dev);758 if (err) {···853 }854855 for (port = 1; port <= dev->caps.num_ports; port++) {0000000856 err = mlx4_SET_PORT(dev, port);857 if (err) {858 mlx4_err(dev, "Failed to set port %d, aborting\n",
···753 struct mlx4_priv *priv = mlx4_priv(dev);754 int err;755 int port;756+ __be32 ib_port_default_caps;757758 err = mlx4_init_uar_table(dev);759 if (err) {···852 }853854 for (port = 1; port <= dev->caps.num_ports; port++) {855+ ib_port_default_caps = 0;856+ err = mlx4_get_port_ib_caps(dev, port, &ib_port_default_caps);857+ if (err)858+ mlx4_warn(dev, "failed to get port %d default "859+ "ib capabilities (%d). Continuing with "860+ "caps = 0\n", port, err);861+ dev->caps.ib_port_def_cap[port] = ib_port_default_caps;862 err = mlx4_SET_PORT(dev, port);863 if (err) {864 mlx4_err(dev, "Failed to set port %d, aborting\n",
···179 int num_ports;180 int vl_cap[MLX4_MAX_PORTS + 1];181 int ib_mtu_cap[MLX4_MAX_PORTS + 1];0182 u64 def_mac[MLX4_MAX_PORTS + 1];183 int eth_mtu_cap[MLX4_MAX_PORTS + 1];184 int gid_table_len[MLX4_MAX_PORTS + 1];
···179 int num_ports;180 int vl_cap[MLX4_MAX_PORTS + 1];181 int ib_mtu_cap[MLX4_MAX_PORTS + 1];182+ __be32 ib_port_def_cap[MLX4_MAX_PORTS + 1];183 u64 def_mac[MLX4_MAX_PORTS + 1];184 int eth_mtu_cap[MLX4_MAX_PORTS + 1];185 int gid_table_len[MLX4_MAX_PORTS + 1];