if (pm_ops->valid && !pm_ops->valid(state)) 
if (pm_ops && pm_ops->valid && !pm_ops->valid(state)) 
static int enter_state(suspend_state_t state){	int error;	if (pm_ops->valid && !pm_ops->valid(state))		return -ENODEV;	if (down_trylock(&pm_sem))		return -EBUSY;	if (state == PM_SUSPEND_DISK) {		error = pm_suspend_disk();		goto Unlock;	}	pr_debug("PM: Preparing system for %s sleep\n", pm_states[state]);	if ((error = suspend_prepare(state)))		goto Unlock;	pr_debug("PM: Entering %s sleep\n", pm_states[state]);	error = suspend_enter(state);	pr_debug("PM: Finishing wakeup.\n");	suspend_finish(state); Unlock:	up(&pm_sem);	return error;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/969e9afd489514252a680914c6d8b9322c713eb4/main.c/buggy/kernel/power/main.c