/* swsusp_write can not fail in device_resume, no need to do second device_resume */ 
int pm_suspend_disk(void){	int error;	error = prepare_processes();	if (error)		return error;	error = device_suspend(PMSG_FREEZE);	if (error) {		printk("Some devices failed to suspend\n");		unprepare_processes();		return error;	}	pr_debug("PM: snapshotting memory.\n");	in_suspend = 1;	if ((error = swsusp_suspend()))		goto Done;	if (in_suspend) {		pr_debug("PM: writing image.\n");		error = swsusp_write();		if (!error)			power_down(pm_disk_mode);		else {		/* swsusp_write can not fail in device_resume,		   no need to do second device_resume */			swsusp_free();			unprepare_processes();			return error;		}	} else		pr_debug("PM: Image restored successfully.\n");	swsusp_free(); Done:	device_resume();	unprepare_processes();	return error;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0245b3e787dc3267a915e1f56419e7e9c197e148/disk.c/buggy/kernel/power/disk.c