int s2io_close(struct net_device *dev) 
static int s2io_close(struct net_device *dev) 
int s2io_close(struct net_device *dev){	nic_t *sp = dev->priv;	int i;	u16 msi_control;	flush_scheduled_work();	netif_stop_queue(dev);	/* Reset card, kill tasklet and free Tx and Rx buffers. */	s2io_card_down(sp);	if (sp->intr_type == MSI_X) {		if (sp->device_type == XFRAME_II_DEVICE) {			for (i=1; (sp->s2io_entries[i].in_use == 					MSIX_REGISTERED_SUCCESS); i++) {				int vector = sp->entries[i].vector;				void *arg = sp->s2io_entries[i].arg;				free_irq(vector, arg);			}			pci_read_config_word(sp->pdev, 0x42, &msi_control);			msi_control &= 0xFFFE; /* Disable MSI */			pci_write_config_word(sp->pdev, 0x42, msi_control);			pci_disable_msix(sp->pdev);		}	}	else {		free_irq(sp->pdev->irq, dev);		if (sp->intr_type == MSI)			pci_disable_msi(sp->pdev);	}		sp->device_close_flag = TRUE;	/* Device is shut down. */	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/ac1f60db6a62c8605b551497c8002ba267ea1f4a/s2io.c/clean/drivers/net/s2io.c