Hello Ram Amrani, The patch cecbcddf6461: "qedr: Add support for QP verbs" from Oct 10, 2016, leads to the following static checker warning: drivers/infiniband/hw/qedr/verbs.c:2067 qedr_destroy_qp() '0x5 | 0x1' has '0x1' set on both sides drivers/infiniband/hw/qedr/verbs.c 2056 int qedr_destroy_qp(struct ib_qp *ibqp) 2057 { 2058 struct qedr_qp *qp = get_qedr_qp(ibqp); 2059 struct qedr_dev *dev = qp->dev; 2060 struct ib_qp_attr attr; 2061 int attr_mask = 0; 2062 int rc = 0; 2063 2064 DP_DEBUG(dev, QEDR_MSG_QP, "destroy qp: destroying %p, qp type=%d\n", 2065 qp, qp->qp_type); 2066 2067 if (qp->state != (QED_ROCE_QP_STATE_RESET | QED_ROCE_QP_STATE_ERR | 2068 QED_ROCE_QP_STATE_INIT)) { These aren't bitfields, they're just numbers. This code is pretty suspect. Not sure what was intended. 2069 attr.qp_state = IB_QPS_ERR; 2070 attr_mask |= IB_QP_STATE; 2071 2072 /* Change the QP state to ERROR */ 2073 qedr_modify_qp(ibqp, &attr, attr_mask, NULL); 2074 } regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html