* re: IB/rdmavt: Add create queue pair functionality
@ 2016-03-22 20:01 Dan Carpenter
2016-03-23 15:33 ` Marciniszyn, Mike
0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2016-03-22 20:01 UTC (permalink / raw)
To: dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Hello Dennis Dalessandro,
The patch 515667f8f8b4: "IB/rdmavt: Add create queue pair
functionality" from Jan 22, 2016, leads to the following static
checker warning:
drivers/infiniband/sw/rdmavt/qp.c:835 rvt_create_qp()
warn: odd binop '0x4 & 0xe0'
drivers/infiniband/sw/rdmavt/qp.c
823 /*
824 * We have our QP and its good, now keep track of what types of opcodes
825 * can be processed on this QP. We do this by keeping track of what the
826 * 3 high order bits of the opcode are.
827 */
828 switch (init_attr->qp_type) {
829 case IB_QPT_SMI:
830 case IB_QPT_GSI:
831 case IB_QPT_UD:
832 qp->allowed_ops = IB_OPCODE_UD_SEND_ONLY & RVT_OPCODE_QP_MASK;
833 break;
834 case IB_QPT_RC:
835 qp->allowed_ops = IB_OPCODE_RC_SEND_ONLY & RVT_OPCODE_QP_MASK;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0x4 & 0xE0
is zero. I couldn't figure out where IB_OPCODE_RC_SEND_ONLY is
defined but presumably Smatch is correct that it's 4.
836 break;
837 case IB_QPT_UC:
838 qp->allowed_ops = IB_OPCODE_UC_SEND_ONLY & RVT_OPCODE_QP_MASK;
839 break;
840 default:
841 ret = ERR_PTR(-EINVAL);
842 goto bail_ip;
843 }
regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread* RE: IB/rdmavt: Add create queue pair functionality
2016-03-22 20:01 IB/rdmavt: Add create queue pair functionality Dan Carpenter
@ 2016-03-23 15:33 ` Marciniszyn, Mike
0 siblings, 0 replies; 2+ messages in thread
From: Marciniszyn, Mike @ 2016-03-23 15:33 UTC (permalink / raw)
To: Dan Carpenter
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Dalessandro, Dennis
> The patch 515667f8f8b4: "IB/rdmavt: Add create queue pair functionality"
> from Jan 22, 2016, leads to the following static checker warning:
>
> drivers/infiniband/sw/rdmavt/qp.c:835 rvt_create_qp()
> warn: odd binop '0x4 & 0xe0'
>
> drivers/infiniband/sw/rdmavt/qp.c
> 834 case IB_QPT_RC:
> 835 qp->allowed_ops = IB_OPCODE_RC_SEND_ONLY &
> RVT_OPCODE_QP_MASK;
>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 0x4 & 0xE0
> is zero. I couldn't figure out where IB_OPCODE_RC_SEND_ONLY is defined
> but presumably Smatch is correct that it's 4.
>
IB_OPCODE_RC_SEND_ONLY is prepared by:
#define IB_OPCODE(transport, op) \
IB_OPCODE_ ## transport ## _ ## op = \
IB_OPCODE_ ## transport + IB_OPCODE_ ## op
in include/rdma/ib_pack.h.
The intent of allowed_ops is to allow for quick validation of an opcode for a QP by a masked compare.
Perhaps a better coding would use these defines from the same file?:
IB_OPCODE_RC = 0x00,
IB_OPCODE_UC = 0x20,
IB_OPCODE_UD = 0x60,
Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-03-23 15:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-22 20:01 IB/rdmavt: Add create queue pair functionality Dan Carpenter
2016-03-23 15:33 ` Marciniszyn, Mike
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox