if (ne && ne->busopt.cmc) 
/* get cycle master capability flag from root node */ if (host->is_cycmst || (!hpsb_read(host, LOCAL_BUS | root_node, get_hpsb_generation(host), (CSR_REGISTER_BASE + CSR_CONFIG_ROM + 2 * sizeof(quadlet_t)), &bc, sizeof(quadlet_t)) && be32_to_cpu(bc) & 1 << CSR_CMC_SHIFT)) 
static int nodemgr_do_irm_duties(struct hpsb_host *host, int cycles){	quadlet_t bc;	/* if irm_id == -1 then there is no IRM on this bus */	if (!host->is_irm || host->irm_id == (nodeid_t)-1)		return 1;	host->csr.broadcast_channel |= 0x40000000;  /* set validity bit */	bc = cpu_to_be32(host->csr.broadcast_channel);	hpsb_write(host, LOCAL_BUS | ALL_NODES, get_hpsb_generation(host),		   (CSR_REGISTER_BASE | CSR_BROADCAST_CHANNEL),		   &bc, sizeof(quadlet_t));	/* If there is no bus manager then we should set the root node's	 * force_root bit to promote bus stability per the 1394	 * spec. (8.4.2.6) */	if (host->busmgr_id == 0xffff && host->node_count > 1)	{		u16 root_node = host->node_count - 1;		struct node_entry *ne = find_entry_by_nodeid(host, root_node | LOCAL_BUS);		if (ne && ne->busopt.cmc)			hpsb_send_phy_config(host, root_node, -1);		else {			HPSB_DEBUG("The root node is not cycle master capable; "				   "selecting a new root node and resetting...");			if (cycles >= 5) {				/* Oh screw it! Just leave the bus as it is */				HPSB_DEBUG("Stopping reset loop for IRM sanity");				return 1;			}			hpsb_send_phy_config(host, NODEID_TO_NODE(host->node_id), -1);			hpsb_reset_bus(host, LONG_RESET_FORCE_ROOT);			return 0;		}	}	return 1;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/328699bf0ff4d35a9932ce279441f955e78a890e/nodemgr.c/clean/drivers/ieee1394/nodemgr.c