if (rej_msg->reason == IB_CM_REJ_STALE_CONN) 
if (__be16_to_cpu(rej_msg->reason) == IB_CM_REJ_STALE_CONN) 
static int cm_rej_handler(struct cm_work *work){	struct cm_id_private *cm_id_priv;	struct cm_rej_msg *rej_msg;	unsigned long flags;	int ret;	rej_msg = (struct cm_rej_msg *)work->mad_recv_wc->recv_buf.mad;	cm_id_priv = cm_acquire_rejected_id(rej_msg);	if (!cm_id_priv)		return -EINVAL;	cm_format_rej_event(work);	spin_lock_irqsave(&cm_id_priv->lock, flags);	switch (cm_id_priv->id.state) {	case IB_CM_REQ_SENT:	case IB_CM_MRA_REQ_RCVD:	case IB_CM_REP_SENT:	case IB_CM_MRA_REP_RCVD:		ib_cancel_mad(cm_id_priv->av.port->mad_agent,			      (unsigned long) cm_id_priv->msg);		/* fall through */	case IB_CM_REQ_RCVD:	case IB_CM_MRA_REQ_SENT:		if (rej_msg->reason == IB_CM_REJ_STALE_CONN)			cm_enter_timewait(cm_id_priv);		else			cm_reset_to_idle(cm_id_priv);		break;	case IB_CM_DREQ_SENT:		ib_cancel_mad(cm_id_priv->av.port->mad_agent,			      (unsigned long) cm_id_priv->msg);		/* fall through */	case IB_CM_REP_RCVD:	case IB_CM_MRA_REP_SENT:	case IB_CM_ESTABLISHED:		cm_enter_timewait(cm_id_priv);		break;	default:		spin_unlock_irqrestore(&cm_id_priv->lock, flags);		ret = -EINVAL;		goto out;	}	ret = atomic_inc_and_test(&cm_id_priv->work_count);	if (!ret)		list_add_tail(&work->list, &cm_id_priv->work_list);	spin_unlock_irqrestore(&cm_id_priv->lock, flags);	if (ret)		cm_process_work(cm_id_priv, work);	else		cm_deref_id(cm_id_priv);	return 0;out:	cm_deref_id(cm_id_priv);	return -EINVAL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/97f52eb438be7caebe026421545619d8a0c1398a/cm.c/clean/drivers/infiniband/core/cm.c