On Tue, Sep 08, 2020 at 11:19:24AM -0300, Jason Gunthorpe wrote: > On Wed, Sep 02, 2020 at 10:45:03AM +0300, Leon Romanovsky wrote: > > From: Aharon Landau <aharonl@xxxxxxxxxxxx> > > > > According to the IB spec active_speed size should be u16 and not u8 as > > before. Changing it to allow further extensions in offered speeds. > > > > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") > > Signed-off-by: Aharon Landau <aharonl@xxxxxxxxxxxx> > > Reviewed-by: Michael Guralnik <michaelgur@xxxxxxxxxx> > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx> > > drivers/infiniband/core/uverbs_std_types_device.c | 3 ++- > > drivers/infiniband/core/verbs.c | 2 +- > > drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 +- > > drivers/infiniband/hw/hfi1/verbs.c | 2 +- > > drivers/infiniband/hw/mlx5/main.c | 8 ++------ > > drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- > > drivers/infiniband/hw/qedr/verbs.c | 2 +- > > drivers/infiniband/hw/qib/qib.h | 6 +++--- > > drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +- > > include/rdma/ib_verbs.h | 4 ++-- > > 10 files changed, 15 insertions(+), 18 deletions(-) > > > > diff --git a/drivers/infiniband/core/uverbs_std_types_device.c b/drivers/infiniband/core/uverbs_std_types_device.c > > index 75df2094a010..7b03446b6936 100644 > > +++ b/drivers/infiniband/core/uverbs_std_types_device.c > > @@ -165,7 +165,8 @@ void copy_port_attr_to_resp(struct ib_port_attr *attr, > > resp->subnet_timeout = attr->subnet_timeout; > > resp->init_type_reply = attr->init_type_reply; > > resp->active_width = attr->active_width; > > - resp->active_speed = attr->active_speed; > > + WARN_ON(attr->active_speed & ~0xFF); > > ?? This doesn't seem like a warn on situation.. Why? We are returning u8 to the user, so need to catch overflow. > > > @@ -1307,7 +1303,7 @@ static int mlx5_query_hca_port(struct ib_device *ibdev, u8 port, > > props->port_cap_flags2 = rep->cap_mask2; > > > > err = mlx5_query_ib_port_oper(mdev, &ib_link_width_oper, > > - (u16 *)&props->active_speed, port); > > + &props->active_speed, port); > > This hunk should be in the earlier patch Sorry about that. > > Jason