> > diff --git a/drivers/infiniband/hw/hfi1/tid_rdma.c > b/drivers/infiniband/hw/hfi1/tid_rdma.c > > index 6fb9303..d77276d 100644 > > --- a/drivers/infiniband/hw/hfi1/tid_rdma.c > > +++ b/drivers/infiniband/hw/hfi1/tid_rdma.c > > @@ -312,9 +312,8 @@ static struct hfi1_ctxtdata *qp_to_rcd(struct > rvt_dev_info *rdi, > > if (qp->ibqp.qp_num == 0) > > ctxt = 0; > > else > > - ctxt = ((qp->ibqp.qp_num >> dd->qos_shift) % > > - (dd->n_krcv_queues - 1)) + 1; > > - > > + ctxt = hfi1_get_qp_map(dd, > > + (u8)(qp->ibqp.qp_num >> dd- > >qos_shift)); > > It is one time use functions, why don't you handle this (u8) casting > inside of hfi1_get_qp_map()? > I assume the suggestion is to remove the u8 cast at the call site? The function return value already is a u8 and there is a cast of the 64 bit CSR read result. Mike