u64 service_id, u64 service_mask) 
__be64 service_id, __be64 service_mask) 
int ib_cm_listen(struct ib_cm_id *cm_id,		 u64 service_id,		 u64 service_mask){	struct cm_id_private *cm_id_priv, *cur_cm_id_priv;	unsigned long flags;	int ret = 0;	service_mask = service_mask ? service_mask : ~0ULL;	service_id &= service_mask;	if ((service_id & IB_SERVICE_ID_AGN_MASK) == IB_CM_ASSIGN_SERVICE_ID &&	    (service_id != IB_CM_ASSIGN_SERVICE_ID))		return -EINVAL;	cm_id_priv = container_of(cm_id, struct cm_id_private, id);	BUG_ON(cm_id->state != IB_CM_IDLE);	cm_id->state = IB_CM_LISTEN;	spin_lock_irqsave(&cm.lock, flags);	if (service_id == IB_CM_ASSIGN_SERVICE_ID) {		cm_id->service_id = __cpu_to_be64(cm.listen_service_id++);		cm_id->service_mask = ~0ULL;	} else {		cm_id->service_id = service_id;		cm_id->service_mask = service_mask;	}	cur_cm_id_priv = cm_insert_listen(cm_id_priv);	spin_unlock_irqrestore(&cm.lock, flags);	if (cur_cm_id_priv) {		cm_id->state = IB_CM_IDLE;		ret = -EBUSY;	}	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/97f52eb438be7caebe026421545619d8a0c1398a/cm.c/clean/drivers/infiniband/core/cm.c