if (IS_PCI_BRIDGE_ASIC(new_irq_info->irq_bridge_type)) pcibr_change_devices_irq(new_irq_info); 
pci_provider = sn_pci_provider[new_irq_info->irq_bridge_type]; if (pci_provider && pci_provider->target_interrupt) (pci_provider->target_interrupt)(new_irq_info); 
static void sn_set_affinity_irq(unsigned int irq, cpumask_t mask){	struct sn_irq_info *sn_irq_info, *sn_irq_info_safe;	int cpuid, cpuphys;	cpuid = first_cpu(mask);	cpuphys = cpu_physical_id(cpuid);	list_for_each_entry_safe(sn_irq_info, sn_irq_info_safe,				 sn_irq_lh[irq], list) {		uint64_t bridge;		int local_widget, status;		nasid_t local_nasid;		struct sn_irq_info *new_irq_info;		new_irq_info = kmalloc(sizeof(struct sn_irq_info), GFP_ATOMIC);		if (new_irq_info == NULL)			break;		memcpy(new_irq_info, sn_irq_info, sizeof(struct sn_irq_info));		bridge = (uint64_t) new_irq_info->irq_bridge;		if (!bridge) {			kfree(new_irq_info);			break; /* irq is not a device interrupt */		}		local_nasid = NASID_GET(bridge);		if (local_nasid & 1)			local_widget = TIO_SWIN_WIDGETNUM(bridge);		else			local_widget = SWIN_WIDGETNUM(bridge);		/* Free the old PROM new_irq_info structure */		sn_intr_free(local_nasid, local_widget, new_irq_info);		/* Update kernels new_irq_info with new target info */		unregister_intr_pda(new_irq_info);		/* allocate a new PROM new_irq_info struct */		status = sn_intr_alloc(local_nasid, local_widget,				       __pa(new_irq_info), irq,				       cpuid_to_nasid(cpuid),				       cpuid_to_slice(cpuid));		/* SAL call failed */		if (status) {			kfree(new_irq_info);			break;		}		new_irq_info->irq_cpuid = cpuid;		register_intr_pda(new_irq_info);		if (IS_PCI_BRIDGE_ASIC(new_irq_info->irq_bridge_type))			pcibr_change_devices_irq(new_irq_info);		spin_lock(&sn_irq_info_lock);		list_replace_rcu(&sn_irq_info->list, &new_irq_info->list);		spin_unlock(&sn_irq_info_lock);		call_rcu(&sn_irq_info->rcu, sn_irq_info_free);#ifdef CONFIG_SMP		set_irq_affinity_info((irq & 0xff), cpuphys, 0);#endif	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/8409668b561fbe464f7a392e8dc77eca225d27ac/irq.c/buggy/arch/ia64/sn/kernel/irq.c