snd_printk("unable to grab IRQ %d\n", pci->irq); 
snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); 
int __devinit snd_ymfpci_create(snd_card_t * card,				struct pci_dev * pci,				unsigned short old_legacy_ctrl,				ymfpci_t ** rchip){	ymfpci_t *chip;	int err;	static snd_device_ops_t ops = {		.dev_free =	snd_ymfpci_dev_free,	};		*rchip = NULL;	/* enable PCI device */	if ((err = pci_enable_device(pci)) < 0)		return err;	chip = kzalloc(sizeof(*chip), GFP_KERNEL);	if (chip == NULL) {		pci_disable_device(pci);		return -ENOMEM;	}	chip->old_legacy_ctrl = old_legacy_ctrl;	spin_lock_init(&chip->reg_lock);	spin_lock_init(&chip->voice_lock);	init_waitqueue_head(&chip->interrupt_sleep);	atomic_set(&chip->interrupt_sleep_count, 0);	chip->card = card;	chip->pci = pci;	chip->irq = -1;	chip->device_id = pci->device;	pci_read_config_byte(pci, PCI_REVISION_ID, (u8 *)&chip->rev);	chip->reg_area_phys = pci_resource_start(pci, 0);	chip->reg_area_virt = ioremap_nocache(chip->reg_area_phys, 0x8000);	pci_set_master(pci);	if ((chip->res_reg_area = request_mem_region(chip->reg_area_phys, 0x8000, "YMFPCI")) == NULL) {		snd_printk("unable to grab memory region 0x%lx-0x%lx\n", chip->reg_area_phys, chip->reg_area_phys + 0x8000 - 1);		snd_ymfpci_free(chip);		return -EBUSY;	}	if (request_irq(pci->irq, snd_ymfpci_interrupt, SA_INTERRUPT|SA_SHIRQ, "YMFPCI", (void *) chip)) {		snd_printk("unable to grab IRQ %d\n", pci->irq);		snd_ymfpci_free(chip);		return -EBUSY;	}	chip->irq = pci->irq;	snd_ymfpci_aclink_reset(pci);	if (snd_ymfpci_codec_ready(chip, 0) < 0) {		snd_ymfpci_free(chip);		return -EIO;	}	snd_ymfpci_download_image(chip);	udelay(100); /* seems we need a delay after downloading image.. */	if (snd_ymfpci_memalloc(chip) < 0) {		snd_ymfpci_free(chip);		return -EIO;	}	if ((err = snd_ymfpci_ac3_init(chip)) < 0) {		snd_ymfpci_free(chip);		return err;	}#ifdef CONFIG_PM	chip->saved_regs = vmalloc(YDSXGR_NUM_SAVED_REGS * sizeof(u32));	if (chip->saved_regs == NULL) {		snd_ymfpci_free(chip);		return -ENOMEM;	}	snd_card_set_pm_callback(card, snd_ymfpci_suspend, snd_ymfpci_resume, chip);#endif	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {		snd_ymfpci_free(chip);		return err;	}	snd_ymfpci_proc_init(card, chip);	snd_card_set_dev(card, &pci->dev);	*rchip = chip;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/99b359ba10a582148c6725f428a33ba5356dd993/ymfpci_main.c/buggy/sound/pci/ymfpci/ymfpci_main.c