msg->send_wr.wr.ud.timeout_ms = cm_id_priv->timeout_ms; 
msg->timeout_ms = cm_id_priv->timeout_ms; 
int ib_send_cm_sidr_req(struct ib_cm_id *cm_id,			struct ib_cm_sidr_req_param *param){	struct cm_id_private *cm_id_priv;	struct ib_mad_send_buf *msg;	struct ib_send_wr *bad_send_wr;	unsigned long flags;	int ret;	if (!param->path || (param->private_data &&	     param->private_data_len > IB_CM_SIDR_REQ_PRIVATE_DATA_SIZE))		return -EINVAL;	cm_id_priv = container_of(cm_id, struct cm_id_private, id);	ret = cm_init_av_by_path(param->path, &cm_id_priv->av);	if (ret)		goto out;	cm_id->service_id = param->service_id;	cm_id->service_mask = __constant_cpu_to_be64(~0ULL);	cm_id_priv->timeout_ms = param->timeout_ms;	cm_id_priv->max_cm_retries = param->max_cm_retries;	ret = cm_alloc_msg(cm_id_priv, &msg);	if (ret)		goto out;	cm_format_sidr_req((struct cm_sidr_req_msg *) msg->mad, cm_id_priv,			   param);	msg->send_wr.wr.ud.timeout_ms = cm_id_priv->timeout_ms;	msg->context[1] = (void *) (unsigned long) IB_CM_SIDR_REQ_SENT;	spin_lock_irqsave(&cm_id_priv->lock, flags);	if (cm_id->state == IB_CM_IDLE)		ret = ib_post_send_mad(cm_id_priv->av.port->mad_agent,				       &msg->send_wr, &bad_send_wr);	else		ret = -EINVAL;	if (ret) {		spin_unlock_irqrestore(&cm_id_priv->lock, flags);		cm_free_msg(msg);		goto out;	}	cm_id->state = IB_CM_SIDR_REQ_SENT;	cm_id_priv->msg = msg;	spin_unlock_irqrestore(&cm_id_priv->lock, flags);out:	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/34816ad98efe4d47ffd858a0345321f9d85d9420/cm.c/buggy/drivers/infiniband/core/cm.c