From: Mika Kukkonen CHECK kernel/power/swsusp.c kernel/power/swsusp.c:320:15: warning: expected lvalue for member dereference kernel/power/swsusp.c:337:15: warning: expected lvalue for member dereference kernel/power/swsusp.c:359:14: warning: expected lvalue for member dereference kernel/power/swsusp.c:925:12: warning: assignment expression in conditional [...] CHECK kernel/power/pmdisk.c kernel/power/pmdisk.c:795:12: warning: assignment expression in conditional Trivial sparse fixes for two files under kernel/power. Patch attached. Signed-off-by: Andrew Morton --- 25-akpm/kernel/power/pmdisk.c | 2 +- 25-akpm/kernel/power/swsusp.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff -puN kernel/power/pmdisk.c~fix-sparse-warnings-in-kernel-power kernel/power/pmdisk.c --- 25/kernel/power/pmdisk.c~fix-sparse-warnings-in-kernel-power 2004-06-29 22:18:21.716613880 -0700 +++ 25-akpm/kernel/power/pmdisk.c 2004-06-29 22:18:21.721613120 -0700 @@ -792,7 +792,7 @@ static int __init relocate_pagedir(void) } err = -ENOMEM; - while ((m = (void *) __get_free_pages(GFP_ATOMIC, pagedir_order))) { + while ((m = (void *) __get_free_pages(GFP_ATOMIC, pagedir_order)) != NULL) { if (!does_collide_order(old_pagedir, (unsigned long)m, pagedir_order)) { pm_pagedir_nosave = diff -puN kernel/power/swsusp.c~fix-sparse-warnings-in-kernel-power kernel/power/swsusp.c --- 25/kernel/power/swsusp.c~fix-sparse-warnings-in-kernel-power 2004-06-29 22:18:21.717613728 -0700 +++ 25-akpm/kernel/power/swsusp.c 2004-06-29 22:18:21.723612816 -0700 @@ -317,7 +317,8 @@ static int write_suspend_image(void) for (i=0; i PAGE_SIZE-sizeof(swp_entry_t)); BUG_ON (sizeof(union diskpage) != PAGE_SIZE); BUG_ON (sizeof(struct link) != PAGE_SIZE); - if (!(entry = get_swap_page()).val) + entry = get_swap_page(); + if (!entry.val) panic( "\nNot enough swapspace when writing header" ); if (swapfile_used[swp_type(entry)] != SWAPFILE_SUSPEND) panic("\nNot enough swapspace for header on suspend device" ); @@ -925,7 +928,7 @@ static int relocate_pagedir(void) return 0; } - while ((m = (void *) __get_free_pages(GFP_ATOMIC, pagedir_order))) { + while ((m = (void *) __get_free_pages(GFP_ATOMIC, pagedir_order)) != NULL) { if (!does_collide_order(old_pagedir, (unsigned long)m, pagedir_order)) break; eaten_memory = m; _