iounmap((unsigned char *)dev->base_addr); 
iounmap((void __iomem *)dev->base_addr); 
static void __devexit ipw2100_pci_remove_one(struct pci_dev *pci_dev){	struct ipw2100_priv *priv = pci_get_drvdata(pci_dev);	struct net_device *dev;	if (priv) {		down(&priv->action_sem);		priv->status &= ~STATUS_INITIALIZED;		dev = priv->net_dev;		sysfs_remove_group(&pci_dev->dev.kobj, &ipw2100_attribute_group);#ifdef CONFIG_PM		if (ipw2100_firmware.version)			ipw2100_release_firmware(priv, &ipw2100_firmware);#endif		/* Take down the hardware */		ipw2100_down(priv);		/* Release the semaphore so that the network subsystem can		 * complete any needed calls into the driver... */		up(&priv->action_sem);		/* Unregister the device first - this results in close()		 * being called if the device is open.  If we free storage		 * first, then close() will crash. */		unregister_netdev(dev);		/* ipw2100_down will ensure that there is no more pending work		 * in the workqueue's, so we can safely remove them now. */		ipw2100_kill_workqueue(priv);		ipw2100_queues_free(priv);		/* Free potential debugging firmware snapshot */		ipw2100_snapshot_free(priv);		if (dev->irq)			free_irq(dev->irq, priv);		if (dev->base_addr)			iounmap((unsigned char *)dev->base_addr);		free_ieee80211(dev);	}	pci_release_regions(pci_dev);	pci_disable_device(pci_dev);	IPW_DEBUG_INFO("exit\n");}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2be041a79bbdbb3c830f4cc3bc3387ba6fff7566/ipw2100.c/clean/drivers/net/wireless/ipw2100.c