printk(KERN_INFO "%s: Illegal IRQ %d specified\n", dev->name, dev->irq); 
printk(KERN_INFO "proteon.c: Illegal IRQ %d specified\n", dev->irq); 
static int __init setup_card(struct net_device *dev){	struct net_local *tp;        static int versionprinted;	const unsigned *port;	int j,err = 0;	if (!dev)		return -ENOMEM;	SET_MODULE_OWNER(dev);	if (dev->base_addr)	/* probe specific location */		err = proteon_probe1(dev, dev->base_addr);	else {		for (port = portlist; *port; port++) {			err = proteon_probe1(dev, *port);			if (!err)				break;		}	}	if (err)		goto out4;	/* At this point we have found a valid card. */	if (versionprinted++ == 0)		printk(KERN_DEBUG "%s", version);	err = -EIO;	if (tmsdev_init(dev, ISA_MAX_ADDRESS, NULL))		goto out4;	dev->base_addr &= ~3; 			proteon_read_eeprom(dev);	printk(KERN_DEBUG "%s:    Ring Station Address: ", dev->name);	printk("%2.2x", dev->dev_addr[0]);	for (j = 1; j < 6; j++)		printk(":%2.2x", dev->dev_addr[j]);	printk("\n");			tp = netdev_priv(dev);	tp->setnselout = proteon_setnselout_pins;			tp->sifreadb = proteon_sifreadb;	tp->sifreadw = proteon_sifreadw;	tp->sifwriteb = proteon_sifwriteb;	tp->sifwritew = proteon_sifwritew;		memcpy(tp->ProductID, cardname, PROD_ID_SIZE + 1);	tp->tmspriv = NULL;	dev->open = proteon_open;	dev->stop = tms380tr_close;	if (dev->irq == 0)	{		for(j = 0; irqlist[j] != 0; j++)		{			dev->irq = irqlist[j];			if (!request_irq(dev->irq, tms380tr_interrupt, 0, 				cardname, dev))				break;                }		                if(irqlist[j] == 0)                {                        printk(KERN_INFO "%s: AutoSelect no IRQ available\n", dev->name);			goto out3;		}	}	else	{		for(j = 0; irqlist[j] != 0; j++)			if (irqlist[j] == dev->irq)				break;		if (irqlist[j] == 0)		{			printk(KERN_INFO "%s: Illegal IRQ %d specified\n",				dev->name, dev->irq);			goto out3;		}		if (request_irq(dev->irq, tms380tr_interrupt, 0, 			cardname, dev))		{                        printk(KERN_INFO "%s: Selected IRQ %d not available\n", 				dev->name, dev->irq);			goto out3;		}	}	if (dev->dma == 0)	{		for(j = 0; dmalist[j] != 0; j++)		{			dev->dma = dmalist[j];                        if (!request_dma(dev->dma, cardname))				break;		}		if(dmalist[j] == 0)		{			printk(KERN_INFO "%s: AutoSelect no DMA available\n", dev->name);			goto out2;		}	}	else	{		for(j = 0; dmalist[j] != 0; j++)			if (dmalist[j] == dev->dma)				break;		if (dmalist[j] == 0)		{                        printk(KERN_INFO "%s: Illegal DMA %d specified\n", 				dev->name, dev->dma);			goto out2;		}		if (request_dma(dev->dma, cardname))		{                        printk(KERN_INFO "%s: Selected DMA %d not available\n", 				dev->name, dev->dma);			goto out2;		}	}	printk(KERN_DEBUG "%s:    IO: %#4lx  IRQ: %d  DMA: %d\n",	       dev->name, dev->base_addr, dev->irq, dev->dma);			err = register_netdev(dev);	if (err)		goto out;	return 0;out:	free_dma(dev->dma);out2:	free_irq(dev->irq, dev);out3:	tmsdev_term(dev);out4:	release_region(dev->base_addr, PROTEON_IO_EXTENT); 	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/504ff16cecf2a788181eddc9d6e47d94ce50a9f6/proteon.c/buggy/drivers/net/tokenring/proteon.c