spin_lock(&list_lock); if(!slots) { spin_unlock(&list_lock); 
down_read(&list_rwsem); if(list_empty(&slot_list)) { up_read(&list_rwsem); 
cpci_hp_start(void){	static int first = 1;	int status;	dbg("%s - enter", __FUNCTION__);	if(!controller) {		return -ENODEV;	}	spin_lock(&list_lock);	if(!slots) {		spin_unlock(&list_lock);		return -ENODEV;	}	spin_unlock(&list_lock);	if(first) {		status = init_slots();		if(status) {			return status;		}		first = 0;	}	status = cpci_start_thread();	if(status) {		return status;	}	dbg("%s - thread started", __FUNCTION__);	if(controller->irq) {		/* Start enum interrupt processing */		dbg("%s - enabling irq", __FUNCTION__);		controller->ops->enable_irq();	}	dbg("%s - exit", __FUNCTION__);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/43b7d7cfb157b5c8c5cc0933f4e96fd81adc81ca/cpci_hotplug_core.c/buggy/drivers/pci/hotplug/cpci_hotplug_core.c