tms_local->dmabuffer = pci_map_single(pdev, (void *)tms_local, sizeof(struct net_local), PCI_DMA_BIDIRECTIONAL); 
tms_local->dmabuffer = dma_map_single(pdev, (void *)tms_local, sizeof(struct net_local), DMA_BIDIRECTIONAL); 
int tmsdev_init(struct net_device *dev, unsigned long dmalimit, 		struct pci_dev *pdev){	struct net_local *tms_local;	memset(dev->priv, 0, sizeof(struct net_local));	tms_local = netdev_priv(dev);	init_waitqueue_head(&tms_local->wait_for_tok_int);	tms_local->dmalimit = dmalimit;	tms_local->pdev = pdev;	tms_local->dmabuffer = pci_map_single(pdev, (void *)tms_local,	    sizeof(struct net_local), PCI_DMA_BIDIRECTIONAL);	if (tms_local->dmabuffer + sizeof(struct net_local) > dmalimit)	{		printk(KERN_INFO "%s: Memory not accessible for DMA\n",			dev->name);		tmsdev_term(dev);		return -ENOMEM;	}		/* These can be overridden by the card driver if needed */	dev->open		= tms380tr_open;	dev->stop		= tms380tr_close;	dev->do_ioctl		= NULL; 	dev->hard_start_xmit	= tms380tr_send_packet;	dev->tx_timeout		= tms380tr_timeout;	dev->watchdog_timeo	= HZ;	dev->get_stats		= tms380tr_get_stats;	dev->set_multicast_list = &tms380tr_set_multicast_list;	dev->set_mac_address	= tms380tr_set_mac_address;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/504ff16cecf2a788181eddc9d6e47d94ce50a9f6/tms380tr.c/buggy/drivers/net/tokenring/tms380tr.c