pci_free_consistent(np->pci_dev, sizeof(struct ring_desc) * (RX_RING + TX_RING), np->rx_ring, np->ring_addr); 
if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) pci_free_consistent(np->pci_dev, sizeof(struct ring_desc) * (RX_RING + TX_RING), np->rx_ring.orig, np->ring_addr); else pci_free_consistent(np->pci_dev, sizeof(struct ring_desc_ex) * (RX_RING + TX_RING), np->rx_ring.ex, np->ring_addr); 
static void __devexit nv_remove(struct pci_dev *pci_dev){	struct net_device *dev = pci_get_drvdata(pci_dev);	struct fe_priv *np = get_nvpriv(dev);	u8 __iomem *base = get_hwbase(dev);	unregister_netdev(dev);	/* special op: write back the misordered MAC address - otherwise	 * the next nv_probe would see a wrong address.	 */	writel(np->orig_mac[0], base + NvRegMacAddrA);	writel(np->orig_mac[1], base + NvRegMacAddrB);	/* free all structures */	pci_free_consistent(np->pci_dev, sizeof(struct ring_desc) * (RX_RING + TX_RING), np->rx_ring, np->ring_addr);	iounmap(get_hwbase(dev));	pci_release_regions(pci_dev);	pci_disable_device(pci_dev);	free_netdev(dev);	pci_set_drvdata(pci_dev, NULL);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ee73362cdd7d9b8166424f5f9e3176c629ac5cb2/forcedeth.c/clean/drivers/net/forcedeth.c