if (state == 0) { 
if (state.event == PM_EVENT_ON) { 
static int sc1200_suspend (struct pci_dev *dev, pm_message_t state){	ide_hwif_t		*hwif = NULL;	printk("SC1200: suspend(%u)\n", state);	if (state == 0) {		// we only save state when going from full power to less		//		// Loop over all interfaces that are part of this PCI device:		//		while ((hwif = lookup_pci_dev(hwif, dev)) != NULL) {			sc1200_saved_state_t	*ss;			unsigned int		basereg, r;			//			// allocate a permanent save area, if not already allocated			//			ss = (sc1200_saved_state_t *)hwif->config_data;			if (ss == NULL) {				ss = kmalloc(sizeof(sc1200_saved_state_t), GFP_KERNEL);				if (ss == NULL)					return -ENOMEM;				hwif->config_data = (unsigned long)ss;			}			ss = (sc1200_saved_state_t *)hwif->config_data;			//			// Save timing registers:  this may be unnecessary if 			// BIOS also does it			//			basereg = hwif->channel ? 0x50 : 0x40;			for (r = 0; r < 4; ++r) {				pci_read_config_dword (hwif->pci_dev, basereg + (r<<2), &ss->regs[r]);			}		}	}	/* You don't need to iterate over disks -- sysfs should have done that for you already */ 	pci_disable_device(dev);	pci_set_power_state(dev,state);	dev->current_state = state;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ca078bae813dd46c0f9b102fdfb4a3384641ff48/sc1200.c/buggy/drivers/ide/pci/sc1200.c