|
@@ -188,9 +188,6 @@ static void suspend_test_finish(const char *label)
|
|
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-/* This is just an arbitrary number */
|
|
|
|
-#define FREE_PAGE_NUMBER (100)
|
|
|
|
-
|
|
|
|
static struct platform_suspend_ops *suspend_ops;
|
|
static struct platform_suspend_ops *suspend_ops;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -226,7 +223,6 @@ int suspend_valid_only_mem(suspend_state_t state)
|
|
static int suspend_prepare(void)
|
|
static int suspend_prepare(void)
|
|
{
|
|
{
|
|
int error;
|
|
int error;
|
|
- unsigned int free_pages;
|
|
|
|
|
|
|
|
if (!suspend_ops || !suspend_ops->enter)
|
|
if (!suspend_ops || !suspend_ops->enter)
|
|
return -EPERM;
|
|
return -EPERM;
|
|
@@ -241,24 +237,10 @@ static int suspend_prepare(void)
|
|
if (error)
|
|
if (error)
|
|
goto Finish;
|
|
goto Finish;
|
|
|
|
|
|
- if (suspend_freeze_processes()) {
|
|
|
|
- error = -EAGAIN;
|
|
|
|
- goto Thaw;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- free_pages = global_page_state(NR_FREE_PAGES);
|
|
|
|
- if (free_pages < FREE_PAGE_NUMBER) {
|
|
|
|
- pr_debug("PM: free some memory\n");
|
|
|
|
- shrink_all_memory(FREE_PAGE_NUMBER - free_pages);
|
|
|
|
- if (nr_free_pages() < FREE_PAGE_NUMBER) {
|
|
|
|
- error = -ENOMEM;
|
|
|
|
- printk(KERN_ERR "PM: No enough memory\n");
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ error = suspend_freeze_processes();
|
|
if (!error)
|
|
if (!error)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
- Thaw:
|
|
|
|
suspend_thaw_processes();
|
|
suspend_thaw_processes();
|
|
usermodehelper_enable();
|
|
usermodehelper_enable();
|
|
Finish:
|
|
Finish:
|