Re: [PATCH rdma-next 5/8] IB/{core,ulp} Support above 32 possible device capability flags

Haggai Eran
2016-02-21T07:39:33Z

On 20/02/2016 09:47, Leon Romanovsky wrote:
> --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
> +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
> @@ -1762,7 +1762,7 @@ int ipoib_add_pkey_attr(struct net_device *dev)
>
> int ipoib_set_dev_features(struct ipoib_dev_priv *priv, struct ib_device *hca)
> {
> - priv->hca_caps = hca->attrs.device_cap_flags;
> + priv->hca_caps = (int)hca->attrs.device_cap_flags;

Won't it be better to increase the size of priv->hca_caps? Someone in the
future will probably attempt to check one of the new device caps through
this field and will be surprised to see it is only partial.

>
> if (priv->hca_caps & IB_DEVICE_UD_IP_CSUM) {
> priv->dev->hw_features = NETIF_F_SG |
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index 284b00c..2ff1fd1 100644
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -273,7 +273,7 @@ struct ib_device_attr {
> u32 hw_ver;
> int max_qp;
> int max_qp_wr;
> - int device_cap_flags;
> + u64 device_cap_flags;
> int max_sge;
> int max_sge_rd;
> int max_cq;
>