cm_id_priv->id.service_mask = ~0ULL; 
cm_id_priv->id.service_mask = __constant_cpu_to_be64(~0ULL); 
static int cm_sidr_req_handler(struct cm_work *work){	struct ib_cm_id *cm_id;	struct cm_id_private *cm_id_priv, *cur_cm_id_priv;	struct cm_sidr_req_msg *sidr_req_msg;	struct ib_wc *wc;	unsigned long flags;	cm_id = ib_create_cm_id(NULL, NULL);	if (IS_ERR(cm_id))		return PTR_ERR(cm_id);	cm_id_priv = container_of(cm_id, struct cm_id_private, id);	/* Record SGID/SLID and request ID for lookup. */	sidr_req_msg = (struct cm_sidr_req_msg *)				work->mad_recv_wc->recv_buf.mad;	wc = work->mad_recv_wc->wc;	cm_id_priv->av.dgid.global.subnet_prefix = wc->slid;	cm_id_priv->av.dgid.global.interface_id = 0;	cm_init_av_for_response(work->port, work->mad_recv_wc->wc,				&cm_id_priv->av);	cm_id_priv->id.remote_id = sidr_req_msg->request_id;	cm_id_priv->id.state = IB_CM_SIDR_REQ_RCVD;	cm_id_priv->tid = sidr_req_msg->hdr.tid;	atomic_inc(&cm_id_priv->work_count);	spin_lock_irqsave(&cm.lock, flags);	cur_cm_id_priv = cm_insert_remote_sidr(cm_id_priv);	if (cur_cm_id_priv) {		spin_unlock_irqrestore(&cm.lock, flags);		goto out; /* Duplicate message. */	}	cur_cm_id_priv = cm_find_listen(sidr_req_msg->service_id);	if (!cur_cm_id_priv) {		rb_erase(&cm_id_priv->sidr_id_node, &cm.remote_sidr_table);		spin_unlock_irqrestore(&cm.lock, flags);		/* todo: reply with no match */		goto out; /* No match. */	}	atomic_inc(&cur_cm_id_priv->refcount);	spin_unlock_irqrestore(&cm.lock, flags);	cm_id_priv->id.cm_handler = cur_cm_id_priv->id.cm_handler;	cm_id_priv->id.context = cur_cm_id_priv->id.context;	cm_id_priv->id.service_id = sidr_req_msg->service_id;	cm_id_priv->id.service_mask = ~0ULL;	cm_format_sidr_req_event(work, &cur_cm_id_priv->id);	cm_process_work(cm_id_priv, work);	cm_deref_id(cur_cm_id_priv);	return 0;out:	ib_destroy_cm_id(&cm_id_priv->id);	return -EINVAL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/97f52eb438be7caebe026421545619d8a0c1398a/cm.c/clean/drivers/infiniband/core/cm.c